$ od -c -N 50000 [Pixel]<IFS>IfsDecl.dm!2
0000000 377 \0 \0 I f s . d e c l \0 373 230 035 f
0000020 277 \0 \0 376 001 \0 324 305 / / I F S . d
0000040 e c l - C o m m o n l y - n
0000060 e e d e d r u n t i m e s t
0000100 r u c t u r e s \r / / T h i s
0000120 i s p r e s e n t l y a
0000140 h o d g e - p o d g e . I t
0000160 i s d u e f o r r e o r
0000200 g a n i z a t i o n . \r / / C
0000220 o p y r i g h t X e r o x C
0000240 o r p o r a t i o n 1 9 7 9 ,
0000260 1 9 8 0 , 1 9 8 1 \r / / L
0000300 a s t m o d i f i e d N o v
0000320 e m b e r 1 4 , 1 9 8 1
0000340 1 0 : 3 4 A M b y T a f t
0000360 \r \r \r / / - - - - - - - - - - -
0000400 - - - - - - - - - - - - - - - -
0000420 - - - - - - - - 376 001 \0 266 , - - -
0000440 - - - - - - - - - - - - - - - -
*
0000500 - - - - - - \r m a n i f e s t \t
0000520 \t / / f i l e s y s t e m
0000540 d e c l a r a t i o n s \r / / -
0000560 - - - - - - - - - - - - - - - -
*
0000660 - - - - - - - - - - - \r [ \r n D
0000700 r i v e s = 8 \t \t / / m a
0000720 x i m u m n u m b e r o f
0000740 d r i v e s \r n D i s k s =
0000760 2 * n D r i v e s \t / / m a x
0001000 i m u m n u m b e r o f '
0001020 d i s k ' o b j e c t s 376 001 \0
0001040 m 374 \r i f s S w a p P a g e s
0001060 = 1 5 0 \t / / p a g e s t
0001100 o p r e a l l o c a t e f o
0001120 r I F S . S w a p \r i f s E r
0001140 r o r P a g e s = 1 0 \t / /
0001160 p a g e s t o p r e a l l
0001200 o c a t e f o r I F S . E r
0001220 r o r s \r i f s S y m s P a g e
0001240 s = 5 0 \t / / p a g e s
0001260 t o p r e a l l o c a t e f
0001300 o r I F S . S y m s \r s y s t
0001320 e m I n f o P a g e s = 1 0
0001340 \t / / p a g e s t o p r e
0001360 a l l o c a t e f o r < S y
0001400 s t e m > I n f o \r l o g S t d
0001420 P a g e L e n g t h = 1 0 \t
0001440 / / 376 001 \0 033 301 l o g s t a n
0001460 d a r d p a g e l e n g t h
0001500 - - \r \t \t \t / / u n i t
0001520 o f c o r e p a g e a l l
0001540 o c a t i o n \r \r / / E r r o
0001560 r c o d e s r e t u r n e d
0001600 b y O p e n I F S \r e c D u
0001620 p L U n i t = 1 8 \t \t / /
0001640 D u p l i c a t e l o g i c a
0001660 l u n i t \r e c N o L U n i t
0001700 0 = 1 9 \t \t / / N o l o
0001720 g i c a l u n i t 0 \r e c N
0001740 u m U n i t s = 2 0 \t \t / /
0001760 c a n ' t f i n d n u m U
0002000 n i t s p a c k s \r e c 2 L U
0002020 n i t 0 s = 2 1 \t \t / / t
0002040 w o l o g i 376 001 \0 J L c a l
0002060 u n i t 0 s w i t h s a m
0002100 e i d \r e c N o I F S D i r
0002120 = 2 2 \t \t / / c a n ' t o
0002140 p e n i f s . d i r \r \r / /
0002160 s o m e o t h e r u s e f u
0002200 l e r r o r c o d e s \r e c
0002220 D i a b l o F i l e = 6 \t /
0002240 / O p e n F i l e ( A l t o
0002260 O S v e r s i o n ) f a i
0002300 l e d \r e c T r i d e n t F i l
0002320 e = 7 \t / / O p e n F i l
0002340 e ( A l t o O S v e r s i
0002360 o n ) f a i l e d \r ] \r \r / /
0002400 - - - - - - - - - - - - - - - -
*
0002440 - - - - - - - - - - - - 376 001 \0 |
0002460 035 - - - - - - - - - - - - - - -
0002500 - - - - - - - - - - - - - - - -
0002520 - \r s t r u c t u r e L o c k
0002540 : \r / / - - - - - - - - - - - -
0002560 - - - - - - - - - - - - - - - -
*
0002660 \r [ \r c t x w o r d \t \t / /
0002700 l a s t c o n t e x t t o
0002720 s e t t h i s l o c k \r c o
0002740 u n t w o r d \t \t / / 0 m
0002760 e a n s n o t l o c k e d \r
0003000 \t \t \t / / + r e a d l o c
0003020 k c o u n t , - 1 w r i t
0003040 e l o c k e d \r ] \r m a n i f
0003060 e 376 001 \0 ! $ s t l e n L o c k
0003100 = s i z e L o c k / 1 6 \r
0003120 \r / / - - - - - - - - - - - - -
0003140 - - - - - - - - - - - - - - - -
*
0003220 - - - - - - - - - - - - - - - \r
0003240 s t r u c t u r e E C B : \t \t
0003260 / / E v e n t C o n t r o l
0003300 B l o c k \r / / - - - - - - -
0003320 - - - - - - - - - - - - - - - -
*
0003420 - - - - - \r [ \r l i n k w o r
0003440 d \r t i m e r w o r d \t \t / /
0003460 5 . 4 6 376 001 \0 G 235 m i n u t
0003500 e s ( 3 2 7 6 7 x 1 0 m
0003520 s ) m a x \r p r o c w o r d
0003540 \t \t / / c a l l e d w h e n
0003560 t i m e r h a s e x p i r
0003600 e d \r ] \r m a n i f e s t l e
0003620 n E C B = s i z e E C B /
0003640 1 6 \r \r / / - - - - - - - - - -
0003660 - - - - - - - - - - - - - - - -
*
0003760 - - \r s t r u c t u r e D T E
0004000 : \t \t / / D r i v e T a b l
0004020 e E n t r y \r / / - - - - - -
0004040 - - - - - - - - - - - - - - - -
0004060 - - - - - - - - - - - 376 001 \0 350 q
0004100 - - - - - - - - - - - - - - - -
*
0004140 - - - - - - - - - - - \r [ \r i f
0004160 s w o r d \t \t / / - > I F
0004200 S s t r u c t u r e . 0 =
0004220 > n o t p a r t o f a n
0004240 I F S \r d i s k ^ 0 , 1 w o
0004260 r d \t \t / / - > T F S D S K
0004300 s t r u c t u r e ( s ) f o
0004320 r t h i s d r i v e \r ] \r \r
0004340 / / - - - - - - - - - - - - - -
0004360 - - - - - - - - - - - - - - - -
*
0004440 - - - - - - - - - - - - - - \r s
0004460 t r u c t u r e D r i v e T a
0004500 376 001 \0 ? 026 b ^ 0 , n D r i v e
0004520 s - 1 @ D T E \t / / D r i v
0004540 e T a b l e \r / / - - - - - -
0004560 - - - - - - - - - - - - - - - -
*
0004660 - - - - - - \r m a n i f e s t
0004700 l e n D r i v e T a b = s i
0004720 z e D r i v e T a b / 1 6 \r \f
0004740 \r / / - - - - - - - - - - - - -
0004760 - - - - - - - - - - - - - - - -
*
0005040 - - - - - - - - - - - - - - - \r
0005060 s t r u c t u r e I F S : \t \t
0005100 / / I n 376 001 \0 320 7 t e r i m
0005120 F i l e S y s t e m \r / / - -
0005140 - - - - - - - - - - - - - - - -
*
0005240 - - - - - - - - - - \r [ \r l i n
0005260 k w o r d \t \t / / I F S s
0005300 a r e l i n k e d t o g e t
0005320 h e r o n f s Q \r \r / / c
0005340 o n f i g u r a t i o n i n f
0005360 o r m a t i o n \r l p d t ^ 0 ,
0005400 n D i s k s - 1 w o r d \t / /
0005420 l o g i c a l t o p h y s
0005440 i c a l d i s k t a b l e \r
0005460 l o g P a g e L e n g t h w o
0005500 r d \t / / s i z e 376 001 \0 320 h
0005520 o f p a g e s i n t h i s
0005540 f i l e s y s t e m \r p a g
0005560 e L e n g t h w o r d \r n u m
0005600 U n i t s w o r d \t \t / / #
0005620 o f u n i t s i n t h i
0005640 s i f s \r t y p e w o r d \t
0005660 \t / / p r i m a r y , b a c
0005700 k u p e t c \r i d w o r d \t
0005720 \t \t / / - > i d s t r i n
0005740 g \r n a m e w o r d \t \t / /
0005760 - > n a m e s t r i n g \r c
0006000 r e a t e d w o r d 2 \t \t /
0006020 / u n i q u e i d f o r
0006040 f i l e s y s t e m \r \r / /
0006060 d i r e c t o r y i n f o r m
0006100 a t i o n \r d i r L o c k @ 376
0006120 001 \0 O + L o c k \t \t / / l o c
0006140 k f o r I F S . D i r \r d i
0006160 r L o c k C o n f l i c t w o
0006200 r d \t / / t r u e i f l o
0006220 c k c o n f l i c t h a s
0006240 o c c u r r e d \r d i r V e r s
0006260 i o n w o r d \t \t / / d i r
0006300 e c t o r y v e r s i o n n
0006320 u m b e r , i n c r e m e n t
0006340 e d \r \t \t \t / / e a c h t i
0006360 m e t h e d i r e c t o r y
0006400 i s m o d i f i e d \r d i r
0006420 B T r e e w o r d \t \t / / -
0006440 > B - T r e e s t r u c t u
0006460 r e f o r I F S . D i r \r o
0006500 f t w o r d \t \t / / - > O
0006520 p e n 376 001 \0 373 _ F i l e T a
0006540 b l e \r ] \r m a n i f e s t l
0006560 e n I F S = s i z e I F S
0006600 / 1 6 \r \r / / - - - - - - - - -
0006620 - - - - - - - - - - - - - - - -
*
0006720 - - - \r s t r u c t u r e C P
0006740 a r : \t \t / / P a r a m e t e
0006760 r s p a s s e d t o C r e
0007000 a t e I F S \r / / - - - - - - -
0007020 - - - - - - - - - - - - - - - -
*
0007120 - - - - - \r [ \r i 376 001 \0 332 300 d
0007140 w o r d \t \t \t / / - > i d
0007160 s t r i n g \r n a m e w o r d
0007200 \t \t / / - > n a m e s t r
0007220 i n g \r t y p e w o r d \t \t /
0007240 / i f s t y p e \r n u m U n
0007260 i t s w o r d \t \t / / n u m
0007300 b e r o f l o g i c a l u
0007320 n i t s \r l p M a p ^ 0 , n D r
0007340 i v e s - 1 w o r d \t / / l
0007360 o g - p h y s m a p . E n t
0007400 r i e s a r e P U n i t #
0007420 s \r b l a n k w o r d n D r
0007440 i v e s \t / / r e s e r v e d
0007460 f o r " f a k e " u n i t
0007500 s ( s e e C r e a t e I F S
0007520 ) \r d i r S i z e w o r d 376 \0
0007540 346 305 001 \t \t / / n u m b e r o
0007560 f p a g e s t o p r e a l
0007600 l o c a t e f o r I F S . d
0007620 i r \r ] \r m a n i f e s t l e
0007640 n C P a r = s i z e C P a
0007660 r / 1 6 \r \r / / e v e r y o n
0007700 e n e e d s t h i s ! b
0007720 u t i t ' s a l s o d e f
0007740 i n e d i n P u p 1 . d e c
0007760 l . \r c o m p i l e i f n e w
0010000 n a m e S t r i n g t h e n
0010020 \r [ s t r u c t u r e
0010040 S t r i n g : [ l e n g t h
0010060 b y t e ; c h a r ^ 1 , 1
0010100 b y t e ] ] \r 377 \0 \0 I f s I
0010120 n i t . d e c l \0 373 227 036 \f 214 \0 \0
0010140 376 001 \0 326 270 / / I f s I n i t .
0010160 d e c l - - t e m p o r a r
0010200 y s t o r a g e u s e d o
0010220 n l y d u r i n g I F S i
0010240 n i t i a l i z a t i o n \r / /
0010260 C o p y r i g h t X e r o x
0010300 C o r p o r a t i o n 1 9 7
0010320 9 , 1 9 8 0 , 1 9 8 1 \r \r /
0010340 / L a s t m o d i f i e d
0010360 M a y 4 , 1 9 8 1 7 : 0
0010400 1 P M b y T a f t \r \r / /
0010420 T h e I S B i s d a t a
0010440 p a s s e d a r o u n d a
0010460 m o n g t h e i n i t i a l
0010500 i z a t i o n m o d u l e s .
0010520 \r / / I t i s d e s t r o
0010540 y e d b 376 001 \0 310 323 y F r e e
0010560 S t a c k E v e n t , w h i c
0010600 h i s e x e c u t e d a s
0010620 s o o n \r / / a s c o n t
0010640 e x t s s t a r t r u n n i
0010660 n g . T h e I S B r e p
0010700 l a c e s a l o t o f s
0010720 t a t i c s \r / / u s e d o
0010740 n l y d u r i n g i n i t i
0010760 a l i z a t i o n t h a t w
0011000 o u l d o t h e r w i s e w
0011020 a s t e \r / / r e s i d e n t
0011040 s t o r a g e ( t o s a y
0011060 n o t h i n g o f f i l l
0011100 i n g u p B l d r ' s d i
0011120 c t i o n a r y ) . \r \r / / - -
0011140 - - - - - - - - - - 376 001 \0 314 1 -
0011160 - - - - - - - - - - - - - - - -
*
0011240 - - - - - - - - - - - - - - - \r
0011260 s t r u c t u r e I S B : \t /
0011300 / I n i t i a l i z a t i o n
0011320 S t o r a g e B l o c k \r /
0011340 / - - - - - - - - - - - - - - -
0011360 - - - - - - - - - - - - - - - -
*
0011440 - - - - - - - - - - - - - \r [ \r
0011460 / / i n i t - t i m e p a r
0011500 a m e t e r s - - k e p t
0011520 h e r e s o t h e y c a n
0011540 b e p a t c h e d e a s 376
0011560 001 \0 S i l y \r l e n B i g Z o
0011600 n e w o r d \r b i g Z o n e I
0011620 n c r w o r d \r l e n S m a l
0011640 l Z o n e w o r d \r s m a l l
0011660 Z o n e I n c r w o r d \r \r /
0011700 / g l o b a l s w i t c h e
0011720 s \r c r e a t i n g P r i m a r
0011740 y w o r d \r v e r i f y T r e
0011760 e w o r d \r m a x B a n k s X
0012000 M w o r d \r e n a b l e M i s
0012020 c S e r v e r s w o r d \r \r /
0012040 / o t h e r s t o r a g e \r
0012060 b i g Z o n e B o t w o r d \r
0012100 c f a I F S S w a p w o r d
0012120 8 / / = l C F A \r r e l
0012140 o c T a b l e w o r d \r i n i
0012160 t S t a 376 001 \0 < W r t w o r d
0012200 \r s t k B a s e w o r d \r s t
0012220 k L e n g t h w o r d \r n u m
0012240 O v e r l a y s w o r d \r o D
0012260 w o r d \r l e n O D w o r d
0012300 \r \r / / r e s i d e n t P C
0012320 v a l u e s p u t i n l
0012340 a y o u t v e c t o r b y
0012360 B l d r \r p c X w o r d \t / /
0012400 " X / Q " - - s t a r t
0012420 o f r e s i d e n t c o d e
0012440 m o v a b l e t o X M \r p
0012460 c L w o r d \t / / " L / Q "
0012500 - - s t a r t o f r e s
0012520 i d e n t L e a f c o d e \r
0012540 p c I w o r d \t / / " I / Q
0012560 " - - s t a r 376 001 \0 W 1 t
0012600 o f r e s i d e n t i n i t
0012620 i a l i z a t i o n \r \r r e s i
0012640 d e n t C o d e X M w o r d
0012660 / / t r u e i f f r e s
0012700 i d e n t c o d e w a s a
0012720 c t u a l l y m o v e d t o
0012740 X M \r x e p T a b l e w o r
0012760 d \t / / - > t a b l e o f
0013000 p o i n t e r s t o X M
0013020 E n t r y P o i n t s t a t
0013040 i c s \r \r p i n n e d O v e r l
0013060 a y s ^ 0 , 9 w o r d / /
0013100 o v e r l a y n u m b e r s
0013120 o f o v e r l a y s t o
0013140 b e p i n n e d i n m e m
0013160 o r y \r \r r u n F i l e C r 376 \0
0013200 R p i e a t e d w o r d 2 \t
0013220 / / T i m e a t w h i c h
0013240 I f s . r u n w a s c r e
0013260 a t e d \r ] \r m a n i f e s t
0013300 l e n I S B = s i z e I S
0013320 B / 1 6 \r 377 \0 \0 I f s S y s t e
0013340 m I n f o . d e c l \0 373 231 307 b &
0013360 \0 \0 376 001 \0 l + / / I F S S y s
0013400 t e m I n f o . d e c l - S
0013420 t r u c t u r e o f < S y s
0013440 t e m > I n f o a n d o t h
0013460 e r s p e c i a l f i l e s
0013500 \r / / C o p y r i g h t X e
0013520 r o x C o r p o r a t i o n
0013540 1 9 8 1 , 1 9 8 2 \r / / L a
0013560 s t m o d i f i e d O c t o
0013600 b e r 3 , 1 9 8 2 2 : 2
0013620 0 P M b y T a f t \r \r \r m
0013640 a n i f e s t \r [ \r / / A s s
0013660 i g n m e n t o f p a g e s
0013700 i n < S y s t e m > I n f o
0013720 \r b i P a g e = 1 \t \t / /
0013740 B I ( B a c k u p I n f o )
0013760 s t r u c t u 376 001 \0 201 230 r e -
0014000 - s e e I F S B a c k u p .
0014020 d e c l \r s p P a g e = 2 \t
0014040 \t / / S y s P a r a m s s t
0014060 r u c t u r e \r m s P a g e =
0014100 4 \t \t / / M S ( M a i l S
0014120 y s t e m ) s t r u c t u r e
0014140 - - s e e I f s M a i l .
0014160 d e c l \r g n P a g e = 6 \t
0014200 \t / / G N ( G r o u p N a m
0014220 e ) s t r u c t u r e - -
0014240 s e e I f s G r o u p N a m e
0014260 . b c p l \r \r / / T h e f o
0014300 l l o w i n g d o n ' t r e
0014320 a l l y b e l o n g h e r e
0014340 . \r / / T h e y s h o u l d
0014360 b e m o v e d t o 376 001 \0 B
0014400 U a " t e m p o r a r y V
0014420 M e m " f i l e w h e n o
0014440 n e i s i m p l e m e n t e
0014460 d . \r m e P a g e = 3 \t \t /
0014500 / M e m o r y e r r o r s
0014520 - - s e e I f s M e m o r y
0014540 E r r o r s . b c p l \r d i f P
0014560 a g e = 5 \t \t / / D I F
0014600 c a c h e - - s e e I f s
0014620 C a c h e d D I F . b c p l \r d
0014640 e P a g e = 7 \t \t / / D i
0014660 s k e r r o r s - - s e e
0014700 I f s D i s k E r r o r s . b
0014720 c p l \r ] \r \r / / - - - - - - -
0014740 - - - - - - - - - - - - - - - -
*
0015000 - 376 001 \0 ` 334 - - - - - - - - - -
0015020 - - - - - - - - - - - - - - - -
0015040 - - - - - - - - - - \r s t r u c
0015060 t u r e S y s P a r a m s : \t
0015100 / / f o r m a t o f s p P
0015120 a g e o f < S y s t e m > I
0015140 n f o \r / / - - - - - - - - - -
0015160 - - - - - - - - - - - - - - - -
*
0015260 - - \r [ \r m a x J o b s w o r
0015300 d \t \t / / M a x i m u m n u
0015320 m b e r o f s i m u l t a n
0015340 e o u s I F S j o b s \r c l
0015360 o c k C o r r e c t i o n w o
0015400 r d \t / / 376 001 \0 M 211 C o r r e
0015420 c t i o n t o a p p l y t
0015440 o A l t o c l o c k ( s e
0015460 c o n d s / d a y ) \r e n a b l
0015500 e T i m e S e r v w o r d \t /
0015520 / T r u e t o e n a b l e
0015540 T i m e s e r v e r \r e n a
0015560 b l e N a m e S e r v w o r d
0015600 \t / / T r u e t o e n a b
0015620 l e N a m e s e r v e r \r e
0015640 n a b l e B o o t S e r v w o
0015660 r d \t / / T r u e t o e n
0015700 a b l e B o o t s e r v e r
0015720 \r e n a b l e P r e s s w o r
0015740 d \t / / T r u e t o e n a
0015760 b l e P r e s s p r i n t i
0016000 n g \r e n a b l e L e 376 001 \0 306 <
0016020 a f w o r d \t \t / / T r u e
0016040 t o e n a b l e L e a f
0016060 s e r v e r \r e n a b l e C o p
0016100 y D i s k w o r d \t / / T r
0016120 u e t o e n a b l e C o p
0016140 y D i s k s e r v e r \r n o N
0016160 e w B o o t F i l e s w o r d
0016200 \t / / T r u e t o d i s a
0016220 b l e b o o t s e r v e r '
0016240 s o b t a i n i n g n e w
0016260 f i l e s \r e n a b l e P a s s
0016300 w o r d L o g w o r d \t / /
0016320 T r u e t o e n a b l e p
0016340 a s s w o r d l o g g i n g
0016360 h a c k \r r u n F i l e C r e a
0016400 t e d w o r d 2 \t / / T i
0016420 376 001 \0 364 206 m e a t w h i c h
0016440 I f s . r u n f i l e w a
0016460 s c r e a t e d \r i f s S t a
0016500 r t T i m e w o r d 2 \t / /
0016520 T i m e o f m o s t r e
0016540 c e n t r e s t a r t \r e n a
0016560 b l e G r a p e v i n e A u t h
0016600 w o r d / / T r u e t
0016620 o e n a b l e G r a p e v i
0016640 n e a u t h e n t i c a t i o
0016660 n \r e n a b l e G r a p e v i n
0016700 e G r o u p w o r d / /
0016720 T r u e t o e n a b l e G
0016740 r a p e v i n e g r o u p m
0016760 e m b e r s h i p \r d e f a u l
0017000 t R e g i s t r y w o r d 2
0017020 0 \t / / 376 001 \0 211 254 D e f a u l
0017040 t r e g i s t r y f o r G
0017060 r a p e v i n e a u t h e n t
0017100 i c a t i o n \r e n a b l e L o
0017120 o k u p F i l e S e r v w o r
0017140 d / / T r u e t o e n a
0017160 b l e L o o k u p F i l e s
0017200 e r v e r \r ] \r \r / / - - - - -
0017220 - - - - - - - - - - - - - - - -
*
0017320 - - - - - - - \r s t r u c t u r
0017340 e E r r R e c : \t / / I F S
0017360 e r r o r f i l e r e c o
0017400 r d \r / / - - - - - - - - - - -
0017420 - - - - - - - - - - 376 001 \0 207 P -
0017440 - - - - - - - - - - - - - - - -
*
0017520 - - - - - - \r [ \r l e n g t h
0017540 w o r d \t \t / / l e n g t h
0017560 i n w o r d s \r i f s E c w
0017600 o r d \t \t / / I F S e r r o
0017620 r c o d e ( s a m e a s
0017640 i n I F S . e r r o r s ) \r f
0017660 t p E c w o r d \t \t / / F T
0017700 P e r r o r c o d e \r e r r
0017720 o r S t r i n g w o r d \r ] \r
0017740 m a n i f e s t \r [ \r l e n E r
0017760 r R e c H e a d e r = o f f
0020000 s e t E r r R e c . e r r o r
0020020 S t r i n g / 1 6 \r m a x L e 376
0020040 \0 " 003 231 n E r r R e c = 1 2
0020060 8 + l e n E r r R e c H e a
0020100 d e r \r ] \r 377 \0 \0 I f s X E m u
0020120 l a t o r . d e c l \0 373 224 376 366 244
0020140 \0 \0 376 001 \0 022 247 / / I f s X E m
0020160 u l a t o r . d e c l - - d
0020200 e f i n i t i o n s f o r I
0020220 F S E x t e n d e d E m u l
0020240 a t o r \r / / C o p y r i g h
0020260 t X e r o x C o r p o r a t
0020300 i o n 1 9 8 0 \r \r / / L a s
0020320 t m o d i f i e d M a r c h
0020340 1 8 , 1 9 8 0 7 : 2 3
0020360 P M b y T a f t \r \r / / - -
0020400 - - - - - - - - - - - - - - - -
*
0020500 - - - - - - - - - - \r s t r u c
0020520 t u r e F r a m e : / /
0020540 N o r m a l 376 001 \0 342 362 f r a m
0020560 e \r / / - - - - - - - - - - - -
0020600 - - - - - - - - - - - - - - - -
*
0020700 \r [ \r c a l l e r s F r a m e
0020720 w o r d \r s a v e d P C w o r
0020740 d \t \t / / - > x A r g s d
0020760 u r i n g e x t e n d e d c
0021000 a l l f r o m t h i s f r
0021020 a m e \r t e m p w o r d \r e x
0021040 t r a A r g u m e n t s w o r
0021060 d \r f o r m a l s ^ 1 , 1 w o
0021100 r d \r ] \r \r / / - - - - - - - -
0021120 - - - - - - - - - - - - - - - -
0021140 - - - - - - - - - - - - 376 001 \0 323
0021160 241 - - - - - - - - - - - - - - -
0021200 - - - - - - - - - - - - - - - -
0021220 - - - - - - - - - \r s t r u c t
0021240 u r e X F r a m e : / /
0021260 E x t e n d e d f r a m e \r /
0021300 / - - - - - - - - - - - - - - -
0021320 - - - - - - - - - - - - - - - -
*
0021400 - - - - - - - - - - - - - \r [ \r
0021420 s t r i n g L i s t w o r d \t
0021440 \t / / x A r g s - r e l a t i
0021460 v e o f f s e t o f f i r
0021500 s t s t r i n g , i f a n
0021520 y \r x A r g s w o r d \t \t / /
0021540 # a r g s i n e x t e n
0021560 d 376 001 \0 6 244 e d c a l l f r
0021600 o m t h i s f r a m e \r x J
0021620 m p w o r d \t \t / / X J M P
0021640 n , e x e c u t e d u p o
0021660 n r e t u r n t o t h i s
0021700 f r a m e \r x P C w o r d \t
0021720 \t / / r e a l P C , i n
0021740 b a n k g i v e n b y x J
0021760 m p \r s t a c k B o t t o m w
0022000 o r d \t / / - > r e a l b
0022020 o t t o m o f f r a m e (
0022040 b e l o w e x t e n s i o n
0022060 & s t r i n g s ) \r f r a m e
0022100 w o r d = @ F r a m e \t /
0022120 / r e g u l a r B c p l f
0022140 r a m e . * * * A C 2 p
0022160 o i n t s 376 001 \0 361 255 h e r e
0022200 * * * \r ] \r \r m a n i f e s t \r
0022220 [ \r o f f s e t X F r a m e =
0022240 - 5 \t / / s t a r t o f
0022260 X F r a m e r e l a t i v e
0022300 t o f r a m e \r \r s t r i n g
0022320 L i s t = - 5 \t \t / / f r
0022340 a m e - r e l a t i v e o f f
0022360 s e t s o f X F r a m e f
0022400 i e l d s \r x A r g s = - 4
0022420 \r x J m p = - 3 \r x P C =
0022440 - 2 \r s t a c k B o t t o m
0022460 = - 1 \r ] \r \r / / - - - - - -
0022500 - - - - - - - - - - - - - - - -
*
0022560 - - - - - - - - - - - 376 001 \0 207 2
0022600 - - - - - - - - - - - \r s t r u
0022620 c t u r e X S t r i n g :
0022640 / / S t r i n g i n e x t
0022660 e n d e d f r a m e \r / / - -
0022700 - - - - - - - - - - - - - - - -
*
0023000 - - - - - - - - - - \r [ \r c a l
0023020 l P C w o r d \t \t / / P C
0023040 o f " J S R . + n " c a l
0023060 l t o g e n e r a t e s t
0023100 r i n g \r n e x t O f f s e t
0023120 w o r d \t \t / / s t r i n g -
0023140 r e l a t i v e o f f s e t
0023160 o f n e x t s t r i n g ,
0023200 376 001 \0 312 315 0 = > n o m o r
0023220 e \r s t r i n g : \t \t \t / / s
0023240 t a r t o f s t r i n g i
0023260 t s e l f \r [ l e n g t
0023300 h b y t e ; c h a r ^ 1 , 1
0023320 b y t e ] \r ] \r \r m a n i f
0023340 e s t \r [ \r c a l l P C = -
0023360 2 \t \t / / s t r i n g - r e l
0023400 a t i v e o f f s e t s o f
0023420 X S t r i n g f i e l d s \r
0023440 n e x t O f f s e t = - 1 \r
0023460 ] \r \r m a n i f e s t \r [ \r / /
0023500 O p c o d e s \r X J M P 0 =
0023520 6 4 0 3 4 B \t \t / / X J M P
0023540 0 + b s w i t c h e s t o
0023560 b a n k b a n d j u m p s
0023600 @ . + 1 376 001 \0 ( 377 \r S T A 3 J
0023620 S R I = 6 6 0 0 0 B \t / /
0023640 S T A 3 J S R I x p e r f o
0023660 r m s S T A 3 1 2 ; J
0023700 S R @ x \r \r / / E x t e n d
0023720 e d i n t e r r u p t a n d
0023740 t r a p a d d r e s s e s
0023760 ( p a g e 1 ) \r i n t e r r u
0024000 p t X J m p = 6 2 7 B \t / /
0024020 X J M P b - - i n t e r
0024040 r u p t P C ( 5 0 0 B ) p o
0024060 i n t s h e r e \r i n t e r r
0024100 u p t X P C = 6 3 0 B \t / /
0024120 r e a l P C \r t r a p X J m
0024140 p = 6 3 1 B \t \t / / X J M
0024160 P b - - t r a p P C ( 5
0024200 2 7 B ) p o i n t 376 \0 $ 020 266 s
0024220 h e r e \r t r a p X P C =
0024240 6 3 2 B \t \t / / r e a l P C
0024260 \r ] \r 377 \0 \0 I f s O v e r l a y
0024300 s . d e c l \0 373 224 350 Q j \0 \0 376 001
0024320 \0 257 266 / / I f s O v e r l a y
0024340 s . d e c l - - d e c l a r
0024360 a t i o n f o r I F S O v
0024400 e r l a y s p a c k a g e \r /
0024420 / C o p y r i g h t X e r o
0024440 x C o r p o r a t i o n 1 9
0024460 8 0 \r \r / / L a s t m o d i
0024500 f i e d M a r c h 1 , 1 9
0024520 8 0 3 : 0 7 P M b y T
0024540 a f t \r \r / / D e r i v e d
0024560 f r o m O V E R L A Y S . D ,
0024600 b y P . D e u t s c h \r /
0024620 / l a s t e d i t e d M a
0024640 y 1 7 , 1 9 7 7 4 : 1 5
0024660 P M \r / / \r \r \r s t r u c t u
0024700 r e O D : \t / / o v e r l a
0024720 y d 376 001 \0 032 326 e s c r i p t o
0024740 r \r \t [ \r \t J S R w o r d \t /
0024760 / S T A 3 J S R I O v e r l
0025000 a y S a v e \r \t d a w o r d \t
0025020 \t / / d i s k a d d r e s s
0025040 \r \t c o r e w o r d \t / / c
0025060 o r e p a g e ( f o r l o
0025100 c k ) \r \t o n s t a c k b i t
0025120 1 \t / / 1 i f r e f e r
0025140 e n c e d f r o m s t a c k
0025160 \r \t f i r s t P n b i t 1 5
0025200 \t / / f i r s t p a g e #
0025220 i n f i l e \r \t ] \r m a n i
0025240 f e s t l O D = s i z e
0025260 O D / 1 6 \r \r s t r u c t u r e
0025300 O E P : \t / / o v e r l a y
0025320 s p e c i a l 376 \0 353 270 / e n
0025340 t r y p o i n t \r \t [ \r \t J S
0025360 R J M P w o r d \t / / J M P
0025400 @ . + 1 i f p r e s e n t
0025420 i n b a n k 0 , \r \t \t \t /
0025440 / X J M P b i f p r e s
0025460 e n t i n b a n k b , \r \t
0025500 \t \t / / S T A 3 J S R I O v
0025520 e r l a y S a v e i f n o t
0025540 p r e s e n t . \r \t O D o r E
0025560 P w o r d \t / / o v e r l a
0025600 y d e s c r i p t o r a d d
0025620 r e s s o r c o d e e n t
0025640 r y p o i n t \r \t ] \r m a n i
0025660 f e s t l O E P = s i z e
0025700 O E P / 1 6 \r 377 \0 \0 I f s V M
0025720 e m . d e c l \0 373 230 035 275 B \0 \0 376
0025740 001 \0 365 317 / / I f s V M e m . d
0025760 e c l - V M e m d e c l a
0026000 r a t i o n s \r / / C o p y r
0026020 i g h t X e r o x C o r p o
0026040 r a t i o n 1 9 8 0 , 1 9 8
0026060 1 \r / / L a s t m o d i f i
0026100 e d N o v e m b e r 1 4 ,
0026120 1 9 8 1 4 : 4 2 P M b y
0026140 T a f t \r \r m a n i f e s t \r
0026160 [ \r l e n L T = 1 9 2 \t \t /
0026200 / V M e m l o c k t a b l
0026220 e l e n g t h \r m a x V M P a
0026240 g e s = 2 5 6 \t / / M a x
0026260 i m u m n u m b e r o f v
0026300 m e m p a g e s ( p o w e r
0026320 o f 2 ) \r m a x V M D =
0026340 3 0 \t \t 376 001 \0 220 ; / / M a x i
0026360 m u m n u m b e r o f V M
0026400 D s ( > 1 0 0 b r e a k s
0026420 V M e m S p y ) \r l e n H M a p
0026440 = 2 * m a x V M P a g e s \r
0026460 / / l o g S t d P a g e L e n
0026500 g t h = ? \t / / D e f i n
0026520 e d i n I F S . d e c l \r l
0026540 o g V M P a g e L e n g t h =
0026560 8 \t / / P a g e l e n g t
0026600 h a s s u m e d b y V M e
0026620 m p a c k a g e \r ] \r \r / / -
0026640 - - - - - - - - - - - - - - - -
*
0026740 - - - - - - - - - 376 001 \0 037 201 - -
0026760 \r s t r u c t u r e V M D T :
0027000 \t \t / / V i r t u a l m e m
0027020 o r y d e s c r i p t o r t
0027040 a b l e \r / / - - - - - - - - -
0027060 - - - - - - - - - - - - - - - -
*
0027160 - - - \r [ \r l e n g t h w o r
0027200 d \t \t / / P r e s e n t n u
0027220 m b e r o f e n t r i e s \r
0027240 v e r s i o n w o r d \t \t / /
0027260 I n c r e m e n t e d e v e
0027300 r y t i m e V M D T i s
0027320 c h a n g e d \r v m d ^ 1 , m a
0027340 x V M D w o r d \t / / - 376 001
0027360 \0 351 255 > V M D s ( m a i n t
0027400 a i n e d i n i n c r e a s
0027420 i n g o r d e r o f v P a
0027440 g e ) \r ] \r m a n i f e s t l
0027460 e n V M D T = s i z e V M
0027500 D T / 1 6 \r \r / / - - - - - - -
0027520 - - - - - - - - - - - - - - - -
*
0027620 - - - - - \r s t r u c t u r e
0027640 V M D : \t \t / / V i r t u a l
0027660 m e m o r y d e s c r i p t
0027700 o r \r / / - - - - - - - - - - -
0027720 - - - - - - - - - - - - - - - -
*
0027760 - - - 376 001 \0 247 260 - - - - - - - -
0030000 - - - - - - - - - - - - - - - -
0030020 - - - - - - \r [ \r b a s e w o
0030040 r d \t \t / / F i r s t v i r
0030060 t u a l p a g e \r l e n g t h
0030100 w o r d \t \t / / N u m b e r
0030120 o f v i r t u a l p a g e
0030140 s \r v m i w o r d \t \t / / -
0030160 > V M I \r / / C l i e n t
0030200 m a y p u t a d d i t i o n
0030220 a l i n s t a n c e d a t a
0030240 h e r e \r ] \r m a n i f e s t
0030260 l e n V M D = s i z e V
0030300 M D / 1 6 \r \r / / - - - - - - -
0030320 - - - - - - - - - - - - - - - -
*
0030360 - - - - - - - - 376 001 \0 8 352 - - -
0030400 - - - - - - - - - - - - - - - -
0030420 - - - - - - - - - - \r s t r u c
0030440 t u r e V M I : \t \t / / V i
0030460 r t u a l m e m o r y i n t
0030500 e r f a c e ( p r o c e d u r
0030520 e s ) \r / / - - - - - - - - - -
0030540 - - - - - - - - - - - - - - - -
*
0030640 - - \r [ \r D O P A G E I O w o
0030660 r d \t \t / / V M e m i n t e
0030700 r f a c e p r o c e d u r e s
0030720 \r C l e a n u p L o c k s w o
0030740 r d \r P a g e T y p e w o r d
0030760 \r P a g e G r o u p A l i 376 001 \0
0031000 271 255 g n w o r d \r P a g e G r
0031020 o u p B a s e w o r d \r P a g
0031040 e G r o u p S i z e w o r d \r
0031060 t y p e w o r d \t \t / / I d
0031100 e n t i f i e s p u r p o s e
0031120 o f t h i s V M I ( s e
0031140 e b e l o w ) \r ] \r m a n i f
0031160 e s t l e n V M I = s i z
0031200 e V M I / 1 6 \r \r m a n i f e
0031220 s t \r [ \r v m i T y p e O v e r
0031240 l a y = 1 \t / / O v e r l
0031260 a y p a g e s \r v m i T y p e
0031300 V F i l e = 2 \t / / V i r
0031320 t u a l f i l e p a g e s
0031340 ( i n c l u d i n g B - T r e
0031360 e ) \r v m i T y p e D D = 3
0031400 \t \t 376 001 \0 377 266 / / D i s k D e
0031420 s c r i p t o r p a g e s \r v
0031440 m i T y p e L e a f = 4 \t \t
0031460 / / L e a f p a g e s \r m a
0031500 x V M I T y p e = 4 \r ] \r \r
0031520 / / - - - - - - - - - - - - - -
0031540 - - - - - - - - - - - - - - - -
*
0031620 - - - - - - - - - - - - - - \r s
0031640 t r u c t u r e F V M D : \t \t
0031660 \t / / F i l e v i r t u a l
0031700 m e m o r y d e s c r i p t
0031720 o r \r / / - - - - - - - - - - -
0031740 - - - - - - - - - - - - - - - -
*
0032000 - - - - - - - 376 001 \0 016 016 - - - -
0032020 - - - - - - - - - - - - - - - -
0032040 - - - - - - \r [ \r @ V M D \r f i
0032060 l e M a p w o r d \t \t \t / /
0032100 - > I S F f i l e m a p \r
0032120 d i r t y b i t \t \t \t / / f
0032140 i l e d i r t i e d s i n c
0032160 e w r i t e d a t e l a s
0032200 t u p d a t e d \r l o g V P a
0032220 g e s P e r D i s k P a g e b
0032240 i t 7 \t / / V M E M p a g
0032260 e s p e r p h y s i c a l
0032300 d i s k p a g e \r l o g P a g
0032320 e G r o u p S i z e b y t e \t
0032340 \t / / U s u a l l y s a m e
0032360 a s l o g V P a g e s P e r
0032400 D i s k P a g e \r ] \r m 376 001 \0 m
0032420 020 a n i f e s t l e n F V M D
0032440 = s i z e F V M D / 1 6 \r
0032460 \f \r / / - - - - - - - - - - - -
0032500 - - - - - - - - - - - - - - - -
*
0032600 \r s t r u c t u r e V M X f e
0032620 r s ^ 1 , m a x V M I T y p e
0032640 w o r d 2 \r / / - - - - - -
0032660 - - - - - - - - - - - - - - - -
*
0032760 - - - - - - \r \r / / - - - - - -
0033000 - - - - - - - - - - - - - - - -
0033020 - 376 001 \0 020 211 - - - - - - - - - -
0033040 - - - - - - - - - - - - - - - -
*
0033100 - - - - - - - - - - - \r s t r u
0033120 c t u r e V M S t a t s : \t \t
0033140 / / V i r t u a l m e m o r
0033160 y s t a t i s t i c s \r / / -
0033200 - - - - - - - - - - - - - - - -
*
0033300 - - - - - - - - - - - \r [ \r / /
0033320 I t r i e d t o u s e
0033340 @ V M X f e r s i n t h e
0033360 f o l l o w i n g f i e l d s
0033400 , b u t B C P L c h o k e
0033420 d o n i 376 001 \0 002 245 t . \r r e
0033440 a d s ^ 1 , m a x V M I T y p
0033460 e w o r d 2 \t / / R e a d
0033500 t r a n s f e r s f o r e
0033520 a c h V M I t y p e \r w r i
0033540 t e s ^ 1 , m a x V M I T y p
0033560 e w o r d 2 \t / / W r i t
0033600 e f a u l t s f o r e a c
0033620 h V M I t y p e \r o v D i s
0033640 k R e a d s w o r d 2 \t \t /
0033660 / O v e r l a y s r e a d
0033700 f r o m d i s k \r o v X M R e
0033720 a d s w o r d 2 \t \t / / O
0033740 v e r l a y s r e a d f r o
0033760 m X M \r ] \r m a n i f e s t
0034000 l e n V M S t a t s = s i z
0034020 e V M S t a t s / 1 376 \0 002 6 017
0034040 6 \r 377 \0 \0 V M e m . d \0 373 224 2 v
0034060 _ \0 \0 376 001 \0 h 271 / / \r / / D e
0034100 f i n i t i o n s f o r V M
0034120 E M p a c k a g e \r / / l a
0034140 s t e d i t e d D e c e m b
0034160 e r 1 8 , 1 9 7 8 9 : 1
0034200 0 A M \r / / \r / / C o p y r
0034220 i g h t X e r o x C o r p o
0034240 r a t i o n 1 9 7 9 \r \r \r s t
0034260 r u c t u r e B P T : \r [ \t H
0034300 A S H X b y t e \r \t N E X T
0034320 b y t e \t / / N E X T M U S
0034340 T B E I N L O W P A R T
0034360 O F W O R D \r \t \t \t / / (
0034400 F O R @ b p t ) \r ] \r m a n i
0034420 f e s t N E X T m a s k =
0034440 # 3 7 7 \r \r s t r u c t u r e
0034460 H M : \r [ \t N K 376 001 \0 h Q E Y
0034500 w o r d \t / / 1 ' s c o m p
0034520 l e m e n t o f k e y \r \t F
0034540 L A G W D w o r d = \r \t [
0034560 P D I F b i t 8 \t / / r
0034600 e a l p a g e # - v i r
0034620 t u a l A C 1 [ 0 : 7 ] \r \t
0034640 F L A G S b i t 8 = \r
0034660 \t [ W G R O U P b i
0034700 t 1 \t / / t h i s i s a
0034720 w r i t e g r o u p \r \t
0034740 G R O U P b i t 2
0034760 = \r \t [ N F P G
0035000 b i t 1 \t / / n o t f i
0035020 r s t p a g e o f g r o u
0035040 p \r \t N L P G
0035060 b i t 1 \t / / n o t 376 001 \0
0035100 { 243 l a s t p a g e o f
0035120 g r o u p \r \t ] \r
0035140 \t b l a n k b i t
0035160 1 \r \t D U M M Y
0035200 b i t 1 \r \t N O T
0035220 R E F b i t 1 \t / / * * *
0035240 u s e d b y m i c r o c o
0035260 d e \r \t C L E A N
0035300 b i t 1 \t / / * * * u s e
0035320 d b y m i c r o c o d e \r \t
0035340 b l a n k b i t
0035360 1 \r \t ] \r \t ] \r ] \r m
0035400 a n i f e s t H M f l a g O f
0035420 f s e t = 1 \r \r s t r u c t
0035440 u r e L C : \r [ \t a d d r w
0035460 o r d \r \t p r o c w o r d \r ]
0035500 \r m 376 001 \0 245 344 a n i f e s t L
0035520 C s i z e = 2 \r \r m a n i f
0035540 e s t \r [ \t P S = 8 \t \t / /
0035560 L O G 2 ( V M P A G E S I
0035600 Z E ) \r \t W M = ( 1 l s h
0035620 i f t P S ) - 1 \r \t R e p I n
0035640 c = 2 6 \t / / h a s h m
0035660 a p r e p r o b e i n c r e
0035700 m e n t \r \t B p t S i z e =
0035720 # 4 0 0 \t / / # o f b u f
0035740 f e r s \r \t E m p t y V P =
0035760 - 2 \t / / p s e u d o V P
0036000 f o r e m p t y b u f f e r
0036020 s \r \t N a V P = - 3 \t / /
0036040 p s e u d o V P f o r u n
0036060 a v a i l a b l e b u f f e r
0036100 s \r \t M i n D 376 \0 230 217 371 u m m y
0036120 V P = - 8 \r ] \r \r m a n i f
0036140 e s t \r [ \t C L E A N b i t =
0036160 # 2 \r \t N O T R E F b i t =
0036200 # 4 \r \t D U M M Y b i t =
0036220 # 1 0 \r \t N L P G b i t = #
0036240 4 0 \r \t N F P G b i t = # 1
0036260 0 0 \r \t G R O U P b i t s =
0036300 N L P G b i t + N F P G b i t \r
0036320 \t W G R O U P b i t = # 2 0
0036340 0 \r ] \r 377 \0 \0 I f s V M e m S p
0036360 y . d e c l \0 373 226 [ 1 + \0 \0 376 001
0036400 \0 ` 351 / / I f s V M e m S p y
0036420 . d e c l - - V M e m S p y
0036440 d e c l a r a t i o n s \r / /
0036460 C o p y r i g h t X e r o x
0036500 C o r p o r a t i o n 1 9 8
0036520 0 \r / / L a s t m o d i f i
0036540 e d D e c e m b e r 7 , 1
0036560 9 8 0 1 0 : 4 5 P M b y
0036600 B o g g s \r \r m a n i f e s t
0036620 \r [ \r t y p e V M e m S p y R e
0036640 q u e s t = 3 0 2 b \r t y
0036660 p e V M e m S p y R e p l y =
0036700 3 0 3 b \r s o c k e t V M e m
0036720 S p y = 5 4 b \t / / p l u
0036740 s a 1 i n t h e h i g
0036760 h 1 6 b i t s \r \r v m i T y
0037000 p e S 376 001 \0 ] 2 n a r f = m
0037020 a x V M I T y p e + 1 \r v m i
0037040 T y p e E m p t y = m a x V
0037060 M I T y p e + 2 \r ] \r \r / / -
0037100 - - - - - - - - - - - - - - - -
*
0037200 - - - - - - - - - - - \r s t r u
0037220 c t u r e V M S : \t \t / / V
0037240 M e m S p y p a r a m e t e r
0037260 s \r / / - - - - - - - - - - - -
0037300 - - - - - - - - - - - - - - - -
*
0037400 \r [ \r [ \r 376 001 \0 320 247
0037420 v P a g e w o r d \t \t / / v
0037440 i r t u a l p a g e n u m b
0037460 e r \r d i r t y b i t \t
0037500 \t / / t r u e i f p a g e
0037520 i s d i r t y \r l o c
0037540 k e d b i t \t \t / / t r u e
0037560 i f p a g e i s l o c k
0037600 e d \r t y p e b i t 4
0037620 \t \t / / v m i T y p e o r
0037640 s n a r f e d \r o v N u m
0037660 b i t 1 0 = j o b T y p
0037700 e b i t 1 0 / / o v e
0037720 r l a y n u m b e r o r j
0037740 o b T y p e i f s n a r f e
0037760 d \r ] ^ 0 , 6 3 \r s t a
0040000 t s @ V M S t a t s \r ] 376 \0 037
0040020 303 375 \r m a n i f e s t l e n V
0040040 M S = s i z e V M S / 1 6
0040060 \r 377 \0 \0 I f s I s f . d \0 373 223 361
0040100 311 , \0 \0 376 001 \0 246 203 / / I S F .
0040120 D - - d e f i n i t i o n s
0040140 f o r I S F a n d I S F
0040160 I N I T \r / / C o p y r i g h
0040200 t X e r o x C o r p o r a t
0040220 i o n 1 9 7 9 \r \r / / l a s
0040240 t m o d i f i e d b y B u
0040260 t t e r f i e l d , M a r c h
0040300 9 , 1 9 7 9 1 : 0 1 P
0040320 M \r \r \t g e t " a l t o f i l
0040340 e s y s . d " \r \t g e t " d i
0040360 s k s . d " \r \r s t r u c t u r
0040400 e F M 0 : \t / / f i l e m a
0040420 p s t r u c t u r e p r e f
0040440 i x \r [ \t f p @ F P \t / / f
0040460 p f o r f i l e \r \t D A s
0040500 w o r d 3 = \t 376 001 \0 262 034 / /
0040520 f i r s t 3 p a g e D A
0040540 s \r \t [ D A 0 w o r d \r \t
0040560 D A 1 w o r d \r \t
0040600 D A 2 w o r d \r \t ] \r \t s e
0040620 a l w o r d \t / / f o r c
0040640 h e c k i n g m a p \r \t d i s
0040660 k w o r d \t / / p o i n t s
0040700 t o D S K s t r u c t u r
0040720 e f o r f i l e \r \t z o n e
0040740 w o r d \t / / a l l o c a t
0040760 i o n z o n e f o r t e m
0041000 p o r a r y p a g e b u f f
0041020 e r s \r \t l a s t w o r d \t /
0041040 / i n d e x o f l a s t
0041060 w o r d ( a d a ) \r \t e n d
0041100 w o r d \t / / i n d e x 376 001
0041120 \0 022 241 o f e n d o f a v
0041140 a i l a b l e s p a c e \r \t o
0041160 n e r n w o r d \t / / l a s
0041200 t r n a d d e d \r \t o n e d
0041220 a w o r d \t / / c o r r e s
0041240 p o n d i n g d a \r \t r e w r
0041260 i t e b i t \t / / i f t r
0041300 u e , r e w r i t e i n d e
0041320 x \r \t b l a n k b i t 7 \r \t
0041340 e x t e n d m a p b y t e \t /
0041360 / e x t e n d m a p i n
0041400 z o n e b y t h i s a m o
0041420 u n t \r \t e x t e n d w o r d
0041440 \t / / e x t e n d f i l e
0041460 i n c h u n k s o f t h i
0041500 s m a n y p a g e s \r \t f m
0041520 a p 376 001 \0 270 0 w o r d \t / /
0041540 p o i n t t h i s e l s e w
0041560 h e r e t o e x t e n d t
0041600 h e m a p \r ] \r s t r u c t u
0041620 r e F M : \t / / f u l l f
0041640 i l e m a p s t r u c t u r e
0041660 \r [ \t @ F M 0 \r \t b l a n k w
0041700 o r d ( s i z e F M 0 / 1 6
0041720 ) & 1 \t / / p a d d i n g t
0041740 o e n s u r e m a p i s
0041760 e v e n \r \t m a p w o r d 0
0042000 \t / / b e g i n n i n g o f
0042020 m a p \r ] \r m a n i f e s t
0042040 m a p o f f s e t = ( o f f
0042060 s e t F M . m a p ) / 1 6 \r m
0042100 a n i f e s t c h e c k s i z
0042120 e = ( o f f 376 \0 276 372 ; s e t
0042140 F M . s e a l ) / 1 6 + 1
0042160 / / n u m b e r o f l e a d
0042200 i n g w o r d s t o c h e
0042220 c k \r m a n i f e s t l e n M
0042240 a p E n t r y = 2 \r \r m a n
0042260 i f e s t \r [ \t p p c = 1 0
0042300 \t \t / / m a x p a g e s p
0042320 e r B F S c a l l \r \t v e r
0042340 s i o n = 3 l s h i f t
0042360 1 2 + 9 l s h i f t 7
0042400 + 7 9 \t / / m o n t h , d
0042420 a y , y e a r \r ] \r 377 \0 \0 I f
0042440 s D D M g r . d e c l \0 373 227 e \
0042460 253 \0 \0 376 001 \0 217 021 / / I f s D D
0042500 M g r . d e c l \r / / C o p y
0042520 r i g h t X e r o x C o r p
0042540 o r a t i o n 1 9 7 9 , 1 9
0042560 8 0 , 1 9 8 1 \r / / L a s t
0042600 m o d i f i e d J u n e 2
0042620 7 , 1 9 8 1 7 : 5 3 P M
0042640 b y T a f t \r \r g e t " I
0042660 f s . d e c l " \r g e t " I f
0042700 s V M e m . d e c l " \r g e t
0042720 " A l t o F i l e S y s . d " \r
0042740 g e t " D i s k s . d " \r g e
0042760 t " T f s . d " \r \r \r / / - -
0043000 - - - - - - - - - - - - - - - -
*
0043060 - - - - - - - - 376 001 \0 036 / - - -
0043100 - - - - - - - - - - - - - - - \r
0043120 s t r u c t u r e I F S D D M
0043140 g r : \t / / D i s k D e s c r
0043160 i p t o r M a n a g e r \r / /
0043200 - - - - - - - - - - - - - - - -
*
0043300 - - - - - - - - - - - - \r [ \r /
0043320 / S t a n d a r d d e f i n
0043340 e d o p e r a t i o n s ( f
0043360 r o m D i s k s . d ) \r @ D D
0043400 M g r \r \r / / I n s t a n c e
0043420 d a t a ( f o r t h i s
0043440 i m p l e m e n t a t i o n ) \r
0043460 l o c k @ L o c k \t \t / 376 001 \0
0043500 9 274 / I n t e r l o c k s a
0043520 c c e s s t o t h e D D M
0043540 g r \r b u f f e r w o r d \t \t
0043560 / / - > c u r r e n t l y -
0043600 l o c k e d b u f f e r ( 0
0043620 i f n o n e ) \r v P a g e
0043640 w o r d \t \t / / V i r t u a l
0043660 p a g e n u m b e r o f
0043700 b u f f e r \r f l u s h T i m e
0043720 r w o r d \t \t / / T i m e r
0043740 f o r f u l l f l u s h
0043760 o f T F S K D s ( s e e F
0044000 l u s h K D s ) \r ] \r m a n i f
0044020 e s t l e n I F S D D M g r
0044040 = s i z e I F S D D M g r /
0044060 1 6 \r \r m a n i f e s t \r [ \r l
0044100 o g 376 001 \0 036 202 D D P a g e G r o
0044120 u p S i z e = T F S l n W o
0044140 r d s P e r P a g e - l o g V M
0044160 P a g e L e n g t h \r d d P a g
0044200 e G r o u p S i z e = 1 l
0044220 s h i f t l o g D D P a g e G
0044240 r o u p S i z e \r m a x D D D i
0044260 s k P a g e s = l e n g t h
0044300 T F S D D p r e a m b l e + l e
0044320 n g t h T F S B T \r m a x D D V
0044340 M P a g e s = m a x D D D i
0044360 s k P a g e s l s h i f t l
0044400 o g D D P a g e G r o u p S i z
0044420 e \r ] \r \r / / - - - - - - - - -
0044440 - - - - - - - - - - - - - - - -
*
0044500 - - - - - - - 376 001 \0 277 K - - - -
0044520 - - - - - - - - - - - - - - - -
0044540 - - - - - - - - \r s t r u c t u
0044560 r e D D V M D : \t / / D i s
0044600 k D e s c r i p t o r V i r t
0044620 u a l M e m o r y D e s c r
0044640 i p t o r \r / / - - - - - - - -
0044660 - - - - - - - - - - - - - - - -
*
0044760 - - - - \r [ \r @ V M D \t \t \t / /
0045000 S t a n d a r d s t u f f \r
0045020 d i s k w o r d \t \t / / D i
0045040 s k o w n i n g t h i s V
0045060 M D \r ] \r m a n i f e s t l e
0045100 n D D V M D = s i z 376 001 \0 317
0045120 3 e D D V M D / 1 6 \r \r m a n
0045140 i f e s t \r [ \r d i r t y O f f
0045160 s e t = o f f s e t T F S
0045200 D S K . d i s k B T s i z e / 1
0045220 6 - 1 \r v m d O f f s e t =
0045240 o f f s e t T F S D S K . v
0045260 e r s i o n / 1 6 - 1 \r ] \r \r
0045300 / / - - - - - - - - - - - - - -
0045320 - - - - - - - - - - - - - - - -
*
0045400 - - - - - - - - - - - - - - \r s
0045420 t r u c t u r e I F S D S K :
0045440 \t / / I F S e x t e n s i o
0045460 n o f T F S D S K s t r u
0045500 c t u r e \r / / - - - - - - - -
0045520 - 376 001 \0 314 K - - - - - - - - - -
0045540 - - - - - - - - - - - - - - - -
*
0045620 - - - - - - - - - \r [ \r b l a n
0045640 k w o r d d i r t y O f f s
0045660 e t \r d i r t y w o r d \t \t /
0045700 / n o n z e r o i f K D H
0045720 n e e d s f l u s h i n g \r
0045740 b l a n k w o r d ( v m d O
0045760 f f s e t - d i r t y O f f s e
0046000 t - 1 ) \r v m d w o r d \t \t /
0046020 / - > D D V M D f o r t
0046040 h i s d i s k \r ] \r \r / / - -
0046060 - - - - - - - - - - - - - - - -
*
0046120 - - - - - - 376 001 \0 332 6 - - - - -
0046140 - - - - - - - - - - - - - - - -
0046160 - - - - - - - - - - - - - - - \r
0046200 s t r u c t u r e I F S K D :
0046220 \t / / I F S e x t e n s i o
0046240 n o f T F S K D s t r u c
0046260 t u r e \r / / - - - - - - - - -
0046300 - - - - - - - - - - - - - - - -
*
0046400 - - - \r [ \r c u r r e n t K D
0046420 @ T F S K D \t / / t h e K D
0046440 m a i n t a i n e d b y t
0046460 h e T F S p a c k a g e \r b
0046500 l a n k w o r d ( T F S w o
0046520 r d s P e r P a g e 376 \0 Q 5 275
0046540 - 2 * ( s i z e T F S K D /
0046560 1 6 ) ) \r i n i t i a l K D @
0046600 T F S K D \t / / s t a t e o
0046620 f t h e K D w h e n d i
0046640 s k l a s t o p e n e d \r ]
0046660 \r 377 \0 \0 I f s F i l e s . d e c
0046700 l \0 373 231 \a 376 4 \0 \0 376 001 \0 355 223 / /
0046720 I F S F i l e s . d e c l -
0046740 - d e c l a r a t i o n s f
0046760 o r I F S f i l e s t r u
0047000 c t u r e s \r / / \t \t T h i s
0047020 i s a n e x t e n s i o n
0047040 t o A l t o F i l e S y s . d
0047060 \r / / C o p y r i g h t X e
0047100 r o x C o r p o r a t i o n
0047120 1 9 7 9 , 1 9 8 1 , 1 9 8 2
0047140 \r \r / / L a s t m o d i f i
0047160 e d M a y 1 1 , 1 9 8 2
0047200 1 0 : 0 9 A M b y T a f
0047220 t \r \r g e t " A l t o F i l e
0047240 S y s . d " \r \r / / T h e f
0047260 i r s t f e w s t r u c t u
0047300 r e s p a r a l l e l t 376 001
0047320 \0 254 024 h e o n e s i n t h
0047340 e s t a n d a r d \r / / A l
0047360 t o f i l e s y s t e m ,
0047400 b u t a s s i g n m e a n i
0047420 n g t o s o m e p r e v i
0047440 o u s l y u n u s e d \r / /
0047460 b i t s a n d f i e l d s
0047500 w h i c h a r e m a r k e d
0047520 w i t h " * " . \r \r / / - -
0047540 - - - - - - - - - - - - - - - -
*
0047640 - - - - - - - - - - \r s t r u c
0047660 t u r e I S N : \t \t / / I F
0047700 S s e r i a l n u m b e r \r
0047720 / / - 376 001 \0 324 W - - - - - - - -
0047740 - - - - - - - - - - - - - - - -
*
0050040 - - - \r [ \r w o r d 1 w o r d
0050060 = \r [ \r d i r e c
0050100 t o r y b i t \t / / f i l e
0050120 i s a d i r e c t o r y
0050140 ( S y s D i r o r I F S . d
0050160 i r ) \r r a n d o m b i
0050200 t \t \t / / n o t u s e d i
0050220 n I F S \r n o l o g b
0050240 i t \t \t / / n o t u s e d
0050260 i n I F S \r a r c h i v
0050300 e d b i t \t \t / / * f i l e
0050320 i s a r c h i 376 001 \0 307 271 v e d
0050340 \r p a r t 1 b i t 1 2
0050360 \r ] \r w o r d 2 w o r d
0050400 = p a r t 2 w o r d \r ] \r
0050420 \r / / - - - - - - - - - - - - -
0050440 - - - - - - - - - - - - - - - -
*
0050520 - - - - - - - - - - - - - - - \r
0050540 s t r u c t u r e I D A : \t \t
0050560 / / I F S v i r t u a l d
0050600 i s k a d d r e s s \r / / - -
0050620 - - - - - - - - - - - - - - - -
*
0050720 - - - - - - - - - - \r [ \r 376 001 \0
0050740 233 2 b l a n k b y t e \r u n i
0050760 t b y t e \t \t / / * l o g i c
0051000 a l u n i t n u m b e r \r p
0051020 a g e w o r d \t \t / / v i r
0051040 t u a l p a g e n u m b e r
0051060 o n u n i t \r ] \r \r / / - -
0051100 - - - - - - - - - - - - - - - -
*
0051200 - - - - - - - - - - \r s t r u c
0051220 t u r e I F P : \t \t / / I F
0051240 S f i l e p o i n t e r \r /
0051260 / - - - - - - - - - - - - - - -
0051300 - - - - - - - - - - - - - - - -
*
0051340 - - 376 001 \0 A 375 - - - - - - - - -
0051360 - - - - - - - - - - - - - - - -
0051400 - - \r [ \r s e r i a l N u m b e
0051420 r @ I S N \r v e r s i o n w
0051440 o r d \t \t / / n o t u s e d
0051460 , a l w a y s 1 \r d a w o
0051500 r d 2 = @ I D A \t / / v
0051520 i r t u a l d i s k a d d r
0051540 e s s \r ] \r \f \r / / s t r u c
0051560 t u r e s u n i q u e t o
0051600 t h e I F S \r \r m a n i f e s
0051620 t \r [ \r m a x P a t h N a m e C
0051640 h a r s = 9 9 \t / / m a x
0051660 l e n g t h o f p a t h n
0051700 a m e i n c h a r s \r l e n
0051720 P a t h N a m e = ( m a x P
0051740 a t h N a m e 376 001 \0 I X C h a r
0051760 s + 2 ) r s h i f t 1 \r m a
0052000 x D i r N a m e C h a r s =
0052020 3 9 \t / / m a x l e n g t h
0052040 o f d i r e c t o r y o r
0052060 u s e r n a m e \r n G r o u
0052100 p s = 6 2 \t \t / / n u m b
0052120 e r o f p r o t e c t i o n
0052140 g r o u p s \r ] \r \r / / - - -
0052160 - - - - - - - - - - - - - - - -
*
0052260 - - - - - - - - - \r s t r u c t
0052300 u r e D i r N a m e : \t / /
0052320 d i r e c t o r y n a m e s
0052340 t r i n g \r / / - - - - 376 001 \0 #
0052360 0 - - - - - - - - - - - - - - -
0052400 - - - - - - - - - - - - - - - -
*
0052460 - - - - - - - - - \r [ \r l e n g
0052500 t h b y t e \r c h a r ^ 1 , m
0052520 a x D i r N a m e C h a r s b
0052540 y t e \r ] \r m a n i f e s t l
0052560 e n D i r N a m e = s i z e
0052600 D i r N a m e / 1 6 \r \r / / -
0052620 - - - - - - - - - - - - - - - -
*
0052720 - - - - - - - - - - - \r s t r u
0052740 c t u r e P r o t e c t i o n
0052760 : 376 001 \0 d 025 \t / / p r o t e c
0053000 t i o n d e s c r i p t o r \r
0053020 / / - - - - - - - - - - - - - -
0053040 - - - - - - - - - - - - - - - -
*
0053120 - - - - - - - - - - - - - - \r [
0053140 \r g r o u p ^ 0 , n G r o u p s
0053160 - 1 b i t \t / / g r o u p
0053200 a c c e s s o r m e m b e r
0053220 s h i p \r o w n e r b i t \t \t
0053240 / / o w n e r a c c e s s \r
0053260 w o r l d b i t \t \t / / w o
0053300 r l d a c c e s s \r ] \r m a n
0053320 i f e s t l e n P r o t e c t
0053340 i o n = s i z e P r o t e
0053360 c t i o n / 376 001 \0 234 W 1 6 \r \r /
0053400 / - - - - - - - - - - - - - - -
0053420 - - - - - - - - - - - - - - - -
*
0053500 - - - - - - - - - - - - - \r s t
0053520 r u c t u r e F i l e P r o t
0053540 : \t / / f i l e p r o t e c
0053560 t i o n \r / / - - - - - - - - -
0053600 - - - - - - - - - - - - - - - -
*
0053700 - - - \r [ \r r e a d P r o t @
0053720 P r o t e c t i o n \t / / r e
0053740 a d p r o t e c t i o n \r w r
0053760 i t e P r o t @ P r 376 001 \0 030 x
0054000 o t e c t i o n \t / / w r i t
0054020 e p r o t e c t i o n \r a p p
0054040 e n d P r o t @ P r o t e c t
0054060 i o n \t / / a p p e n d p r
0054100 o t e c t i o n \r ] \r m a n i f
0054120 e s t l e n F i l e P r o t
0054140 = s i z e F i l e P r o t /
0054160 1 6 \r \r / / - - - - - - - - - -
0054200 - - - - - - - - - - - - - - - -
*
0054300 - - \r s t r u c t u r e I n h
0054320 P r o p s : \t / / f i l e p
0054340 r o p e r t i e s i n h e r i
0054360 t e d f r o m o l d v e r
0054400 376 001 \0 266 S s i o n s \r / / - - -
0054420 - - - - - - - - - - - - - - - -
*
0054520 - - - - - - - - - \r [ \r f i l e
0054540 P r o t w o r d l e n F i l
0054560 e P r o t = @ F i l e P r o
0054600 t \r ] \r m a n i f e s t l e n
0054620 I n h P r o p s = s i z e
0054640 I n h P r o p s / 1 6 \r \f \r / /
0054660 - - - - - - - - - - - - - - - -
*
0054760 - - - - - - - - - - - - \r s t r
0055000 u c t u r 376 001 \0 334 V e I L D F
0055020 l a g s : \t / / I F S l e a
0055040 d e r p a g e f l a g s \r /
0055060 / - - - - - - - - - - - - - - -
0055100 - - - - - - - - - - - - - - - -
*
0055160 - - - - - - - - - - - - - \r [ \r
0055200 u n d e l e t a b l e b i t \t
0055220 \t / / f i l e i s u n d e
0055240 l e t a b l e e v e n b y
0055260 w h e e l s \r n o B a c k u p
0055300 b i t \t \t / / f i l e s h o
0055320 u l d n o t b e b a c k e
0055340 d u p \r d a m a g e d b i t
0055360 \t \t / / f i l e i s d a m
0055400 a g e d ( s e t 376 001 \0 231 252 b
0055420 y I F S S c a v e n g e r ) \r
0055440 b l a n k b i t 1 3 \r ] \r \r
0055460 / / - - - - - - - - - - - - - -
0055500 - - - - - - - - - - - - - - - -
*
0055560 - - - - - - - - - - - - - - \r s
0055600 t r u c t u r e I L D : \t / /
0055620 I F S l e a d e r p a g e
0055640 \r / / - - - - - - - - - - - - -
0055660 - - - - - - - - - - - - - - - -
*
0055740 - - - - - - - - - - - - - - - \r
0055760 [ \r @ L D \t \t \t / / f i r s t
0056000 2 5 6 w o r d s i s s 376
0056020 001 \0 241 355 t a n d a r d l e a d
0056040 e r p a g e \r p a t h N a m e
0056060 w o r d l e n P a t h N a m
0056100 e / / c o m p l e t e I
0056120 F S p a t h n a m e \r i n h P
0056140 r o p s w o r d l e n I n h
0056160 P r o p s = @ I n h P r o p
0056200 s \r a u t h o r @ D i r N a m
0056220 e \t \t / / u s e r n a m e
0056240 o f l a s t w r i t e r \r b
0056260 a c k e d U p @ T I M E \t \t /
0056300 / d a t e a n d t i m e
0056320 o f l a s t b a c k u p \r t
0056340 y p e w o r d \t \t / / f t T
0056360 e x t , f t B i n a r y , f
0056400 t U n s p e c i f i e d \r b y t
0056420 e S i z 376 001 \0 335 v e w o r d \r
0056440 f l a g s w o r d = @ I L
0056460 D F l a g s \r c h e c k s u m
0056500 w o r d \t \t / / s o f t w a r
0056520 e c h e c k s u m o v e r
0056540 d a t a ; 0 = > n o n e ;
0056560 \r \t \t \t / / i s P u p c h
0056600 e c k s u m + 1 . \r ] \r \r c o
0056620 m p i l e i f ( s i z e I L
0056640 D / 1 6 ) g r 5 1 2 t h e
0056660 n \r [ B a r f ( " I L D
0056700 t o o l a r g e " ) ] /
0056720 / L e a f u s e s o t h e
0056740 r 5 1 2 w o r d s f o r
0056760 f i l e m a p \r \r m a n i f e
0057000 s t \r [ \r / / f i l e t y p
0057020 e s \r f t U n s p 376 001 \0 220 301 e c
0057040 i f i e d = 0 \r f t T e x t
0057060 = 1 \r f t B i n a r y =
0057100 2 \r ] \r \f \r / / - - - - - - - -
0057120 - - - - - - - - - - - - - - - -
*
0057220 - - - - \r s t r u c t u r e D
0057240 R : \t \t / / I F S d i r e c
0057260 t o r y r e c o r d \r / / - -
0057300 - - - - - - - - - - - - - - - -
*
0057400 - - - - - - - - - - \r [ \r h e a
0057420 d e r w o r d = \r 376 001
0057440 \0 377 n [ \r t y p e b i t
0057460 6 \t \t / / e n t r y t y p
0057500 e \r l e n g t h b i t
0057520 1 0 \t / / e n t r y l e n g
0057540 t h i n w o r d s \r ]
0057560 \r f p @ I F P \t \t \t / / f i
0057600 l e p o i n t e r \r p a t h N
0057620 a m e @ S T R I N G \t / / c
0057640 o m p l e t e I F S p a t h
0057660 n a m e \r / / D I F e n t r
0057700 i e s h a v e a D I F R e
0057720 c a f t e r t h e n a m e
0057740 ( s e e b e l o w ) \r ] \r m
0057760 a n i f e s t l e n D R H e a
0060000 d e r = o f f s e t D R .
0060020 p a t h N a m e / 1 6 \r \r / / -
0060040 - - - 376 001 \0 025 366 - - - - - - - -
0060060 - - - - - - - - - - - - - - - -
*
0060160 \r s t r u c t u r e D I F R e
0060200 c : \t / / a d d i t i o n a l
0060220 i n f o i n e n t r i e s
0060240 f o r D I F s \r / / - - - -
0060260 - - - - - - - - - - - - - - - -
*
0060360 - - - - - - - - \r [ \r c r e a t
0060400 e P r o t @ P r o t e c t i o
0060420 n \t / / c r e a t e p r o t
0060440 e c t i o n \r i 376 001 \0 ! 227 n h P
0060460 r o p s w o r d l e n I n h
0060500 P r o p s = @ I n h P r o p
0060520 s \r d i s k P a g e U s a g e ^
0060540 0 , 1 w o r d \t / / n u m b
0060560 e r o f d i s k p a g e s
0060600 u s e d \r d i s k P a g e L i
0060620 m i t ^ 0 , 1 w o r d \t / /
0060640 n u m b e r o f d i s k p
0060660 a g e s p e r m i t t e d \r ]
0060700 \r m a n i f e s t l e n D I F
0060720 R e c = s i z e D I F R e
0060740 c / 1 6 \r \r m a n i f e s t \r [
0060760 \r / / t y p e s o f d i r
0061000 e c t o r y e n t r i e s \r d
0061020 r T y p e N o r m a l = 1 \t
0061040 / / n o r m a l f i l 376 001 \0
0061060 s * e \r d r T y p e D I F =
0061100 2 \t \t / / d i r e c t o r y
0061120 i n f o r m a t i o n f i l e
0061140 \r \r / / c o n s t a n t s f
0061160 o r D R h e a d e r v a l
0061200 i d i t y c h e c k . \r / /
0061220 t h e f o l l o w i n g t w
0061240 o m u s t b e t h e n e
0061260 x t h i g h e r p o w e r
0061300 o f 2 m i n u s o n e . \r
0061320 / / * * * I f t h i s i s
0061340 c h a n g e d , I f s D i r
0061360 K e y . a s m m u s t b e
0061400 c h a n g e d a l s o . \r m a
0061420 x D R T y p e = 3 \t \t / /
0061440 m a x i m u m v a l u e o f
0061460 t 376 001 \0 V 215 y p e f i e l d
0061500 \r m a x D R L e n g t h = 1
0061520 2 7 \t / / m a x i m u m v a
0061540 l u e o f l e n g t h f i
0061560 e l d \r d r H e a d e r M a s k
0061600 = # 1 7 1 6 0 0 \t / / m a
0061620 s k o f b i t s t h a t
0061640 s h o u l d b e z e r o i
0061660 n D R h e a d e r \r ] \r \r /
0061700 / - - - - - - - - - - - - - - -
0061720 - - - - - - - - - - - - - - - -
*
0062000 - - - - - - - - - - - - - \r s t
0062020 r u c t u r e C a p a b i l i
0062040 t i e s : \t / / u s e r c a
0062060 p a b i l i t 376 001 \0 273 X i e s \r
0062100 / / - - - - - - - - - - - - - -
0062120 - - - - - - - - - - - - - - - -
*
0062200 - - - - - - - - - - - - - - \r [
0062220 \r w h e e l b i t \t \t / / a
0062240 l l o w e d t o d o a n y
0062260 t h i n g \r m a i l b i t \t \t
0062300 / / a l l o w e d t o r e
0062320 c e i v e m a i l \r b l a n k
0062340 b i t 1 4 \r ] \r \f \r / / - -
0062360 - - - - - - - - - - - - - - - -
*
0062460 - - - - - - - - - - \r s 376 001 \0 216
0062500 344 t r u c t u r e D I F : \t \t
0062520 / / d i r e c t o r y i n f
0062540 o r m a t i o n f i l e ( p
0062560 a g e 1 ) \r / / - - - - - - -
0062600 - - - - - - - - - - - - - - - -
*
0062700 - - - - - \r [ \r / / d i r e c
0062720 t o r y p r o p e r t i e s \r
0062740 @ D I F R e c \t \t \t / / t r u
0062760 t h c o p y o f s t u f f
0063000 i n d i r e c t o r y e n
0063020 t r y \r c o n n e c t P r o t
0063040 @ P r o t e c t i o n \t / / c
0063060 o n n e c t p r o t e c t i o
0063100 n 376 001 \0 034 ( \r o w n e r @ D i
0063120 r N a m e \t \t / / n a m e o
0063140 f d i r e c t o r y o w n e
0063160 r ( i f f i l e s - o n l y
0063200 ) \r m i s c D i r A t t r i b u
0063220 t e s w o r d = \r [ \r
0063240 f i l e s O n l y b i t
0063260 \t / / f i l e s - o n l y d
0063300 i r e c t o r y \r b l a n
0063320 k b i t 1 3 \r v a l i
0063340 d G r a p e v i n e R N a m e
0063360 b i t / / G r a p e v i n
0063400 e k n o w s a b o u t t h
0063420 i s n a m e \r n o n e x
0063440 i s t e n t D I F b i t \t / /
0063460 n o l o c a l D I F e x
0063500 i s t s . 376 001 \0 335 262 B y d
0063520 e f i n i t i o n , t h i s
0063540 c a n n o t \r \t \t \t / /
0063560 b e t r u e i n a D I F
0063600 f i l e , o n l y i n t
0063620 h e c a c h e . \r ] \r \r
0063640 / / u s e r p r o p e r t i
0063660 e s \r p a s s w o r d w o r d
0063700 9 \t \t / / e n c r y p t e d
0063720 p a s s w o r d ( c a c h e
0063740 d i f u s i n g G r a p e
0063760 v i n e ) \r u s e r G r o u p s
0064000 @ P r o t e c t i o n \t / /
0064020 u s e r g r o u p m e m b e
0064040 r s h i p ( c a c h e d i f
0064060 u s i n g G r a p e v i n e
0064100 ) \r c a p a b i l i t 376 001 \0 330 t
0064120 i e s @ C a p a b i l i t i e
0064140 s \r o w n e d G r o u p s @ P
0064160 r o t e c t i o n \t / / g r o
0064200 u p s o w n e d b y t h i
0064220 s u s e r \r d e f a u l t P r
0064240 i n t e r @ D i r N a m e \t /
0064260 / n a m e o f d e f a u l
0064300 t p r i n t i n g s e r v e
0064320 r \r t i m e L a s t V a l i d
0064340 @ T I M E \t / / t i m e o f
0064360 m o s t r e c e n t G r a
0064400 p e v i n e v a l i d i t y
0064420 c h e c k \r h i n t N o t U s e
0064440 r G r o u p s @ P r o t e c t
0064460 i o n / / g r o u p s u
0064500 s e r i s b e l i e v e d
0064520 376 001 \0 313 201 n o t t o b e i
0064540 n \r ] \r m a n i f e s t l e n
0064560 D I F = s i z e D I F / 1
0064600 6 \r m a n i f e s t m i n L e
0064620 n D I F = o f f s e t D I
0064640 F . o w n e d G r o u p s / 1 6
0064660 / / f o r o l d D I F
0064700 \r \r / / - - - - - - - - - - - -
0064720 - - - - - - - - - - - - - - - -
*
0065020 \r s t r u c t u r e U s e r I
0065040 n f o : \t / / P a s s e d t
0065060 o f i l e o p e r a t i o n
0065100 s \r / / - - - - - - - - - - - -
0065120 - - - - - 376 001 \0 u 367 - - - - - -
0065140 - - - - - - - - - - - - - - - -
*
0065220 - - - - - \r [ \r u s e r N a m e
0065240 w o r d \t \t / / - > l o g
0065260 i n d i r e c t o r y n a m
0065300 e \r c o n n N a m e w o r d \t
0065320 \t / / - > c o n n e c t e d
0065340 d i r e c t o r y n a m e \r
0065360 c a p a b i l i t i e s @ C a
0065400 p a b i l i t i e s \r u s e r G
0065420 r o u p s @ P r o t e c t i o
0065440 n \r d e f a u l t D i r w o r
0065460 d \t \t / / - > d e f a u l t
0065500 d i r e c t o r y n a m e
0065520 ( 0 i f n o n e 376 001 \0 275 ] )
0065540 \r ] \r m a n i f e s t l e n U
0065560 s e r I n f o = s i z e U
0065600 s e r I n f o / 1 6 \r \r / / - -
0065620 - - - - - - - - - - - - - - - -
*
0065720 - - - - - - - - - - \r s t r u c
0065740 t u r e H o m e : \t \t / / h
0065760 o m e b l o c k w r i t t e
0066000 n a s f i l e I F S . H o
0066020 m e o n a l l p a c k s \r
0066040 / / - - - - - - - - - - - - - -
0066060 - - - - - - - - - - - - - - - -
*
0066120 - - - - - - - - - - - - - - - 376
0066140 001 \0 037 030 - - - - - - - - - - - -
0066160 - - - \r [ \r t y p e w o r d \t
0066200 \t / / w h a t k i n d o f
0066220 I F S t h i s i s \r n u m
0066240 U n i t s w o r d \t \t / / n
0066260 u m b e r o f u n i t s i
0066300 n f i l e s y s t e m \r t h
0066320 i s U n i t w o r d \t \t / /
0066340 l o g i c a l u n i t n u m
0066360 b e r o f t h i s d i s k
0066400 \r c r e a t e d @ T I M E \t \t
0066420 / / c r e a t i o n d a t e
0066440 a n d t i m e o f f i l
0066460 e s y s t e m \r i d @ D i r
0066500 N a m e \t \t / / f i l e s y
0066520 s t e m I D ( f o r O p e
0066540 n F i l 376 001 \0 o f e S y s ) \r n
0066560 a m e @ S T R I N G \t \t / /
0066600 n a m e o f t h i s f i l
0066620 e s y s t e m \r ] \r m a n i f
0066640 e s t l e n H o m e = s i
0066660 z e H o m e / 1 6 \r \r m a n i
0066700 f e s t \r [ \r / / I F S t y
0066720 p e s \r i f s T y p e P r i m a
0066740 r y = 1 \t / / p r i m a r
0066760 y f i l e s y s t e m ( s
0067000 w a p a r e a , e t c . ) \r
0067020 i f s T y p e B a c k u p =
0067040 2 \t / / b a c k u p f i l e
0067060 s y s t e m \r i f s T y p e A
0067100 u x i l i a r y = 3 \t / /
0067120 a u x i l i a r y ( n o n - b
0067140 a c k u p ) f i 376 \0 \f D 326 l e
0067160 s y s t e m \r ] \r 377 \0 \0 I f s
0067200 D i r s . d e c l \0 373 231 \b o ; \0
0067220 \0 376 001 \0 272 004 / / I F S D i r s
0067240 . d e c l - - d e c l a r a
0067260 t i o n s f o r I F S d i
0067300 r e c t o r y o p e r a t i o
0067320 n s \r / / C o p y r i g h t
0067340 X e r o x C o r p o r a t i o
0067360 n 1 9 7 9 , 1 9 8 1 , 1 9
0067400 8 2 \r / / L a s t m o d i f
0067420 i e d M a y 1 1 , 1 9 8 2
0067440 6 : 1 2 P M b y T a f
0067460 t \r \r / / - - - - - - - - - - -
0067500 - - - - - - - - - - - - - - - -
*
0067600 \r s t r u c t u r e L C : \t \t
0067620 / / L o o 376 001 \0 D K k u p C
0067640 o n t r o l w o r d \r / / - -
0067660 - - - - - - - - - - - - - - - -
*
0067760 - - - - - - - - - \r [ \r c r e a
0070000 t e b i t \t \t / / a l l o w
0070020 e d t o c r e a t e n e w
0070040 f i l e \r m u l t i p l e b
0070060 i t \t \t / / a l l o w e d t
0070100 o d e s i g n a t e m u l t
0070120 i p l e f i l e s w i t h
0070140 " * " \r b l a n k b i t 6 \r
0070160 v c b y t e \t \t \t / / v e r
0070200 s i o n c o n t r o l s p e
0070220 c i f i c a t i o n \r 376 001 \0 266 366
0070240 ] \r \r m a n i f e s t \r [ \r / /
0070260 l o o k u p c o n t r o l
0070300 w o r d ( p a r a l l e l t
0070320 o s t r u c t u r e L C ) \r
0070340 l c C r e a t e = 1 0 0 0 0
0070360 0 b \t / / a l l o w e d t o
0070400 c r e a t e n e w f i l e
0070420 \r l c M u l t i p l e = 4 0
0070440 0 0 0 b \t / / " * " a l l o
0070460 w e d i n f i l e n a m e
0070500 t e m p l a t e \r \r / / v e r
0070520 s i o n c o n t r o l s p e
0070540 c i f i c a t i o n s \r l c V H
0070560 i g h e s t = 1 \t \t / / h
0070600 i g h e s t e x i s t i n g
0070620 v e r s i o n \r l c V N e x t
0070640 376 001 \0 o 226 = 2 \t \t / / h i g
0070660 h e s t e x i s t i n g v e
0070700 r s i o n + 1 \r l c V L o w e
0070720 s t = 3 \t \t / / l o w e s
0070740 t e x i s t i n g v e r s i
0070760 o n \r l c V E x p l i c i t =
0071000 4 \t \t / / e x p l i c i t
0071020 v e r s i o n ( i n t e r n a
0071040 l u s e o n l y ) \r l c V A
0071060 l l = 5 \t \t / / a l l v
0071100 e r s i o n s ( e q u i v a l
0071120 e n t t o " ! * " ) \r \r / /
0071140 O p e n F i l e m o d e s \r
0071160 m o d e R e a d = 1 \r m o d
0071200 e W r i t e = 2 \r m o d e R
0071220 e a d W r i t e = 3 \r m o d
0071240 e A p p e 376 001 \0 J n n d = 4
0071260 \r m o d e R e a d W r i t e S h
0071300 a r e d = 5 \r \r / / L o o
0071320 k u p S t a t u s d e f i n i
0071340 t i o n s \r l s N o L o o k u p
0071360 = 0 \t \t / / n o l o o k
0071400 u p h a s b e e n d o n e
0071420 y e t \r l s N o n e x i s t e
0071440 n t = 1 \t / / n o s u c
0071460 h f i l e e x i s t s \r l s
0071500 O t h e r V e r s i o n = 2
0071520 \t / / t h i s v e r s i o n
0071540 d o e s n ' t e x i s t b
0071560 u t a n o t h e r o n e d
0071600 o e s \r l s E x i s t s = 3
0071620 \t \t / / t h i s f i l e a
0071640 l r e a d y e x i 376 001 \0 C \a s
0071660 t s \r \r / / l o c k M o d e
0071700 a r g u m e n t t o L o o k
0071720 u p F D - - o r d e r i s
0071740 i m p o r t a n t ( s e e
0071760 L o o k u p F D ) \r l o c k N o
0072000 n e = 0 \t \t / / l e a v e
0072020 d i r e c t o r y u n l o c
0072040 k e d u p o n r e t u r n
0072060 ( d e f a u l t ) \r l o c k A l
0072100 r e a d y = 1 \t \t / / c a
0072120 l l e r h a s a l r e a d y
0072140 l o c k e d t h e d i r e
0072160 c t o r y ; l e a v e i t \r
0072200 \t \t \t / / t h a t w a y u
0072220 p o n r e t u r n \r l o c k R
0072240 e a d = 2 \t \t / / l e a 376
0072260 001 \0 313 320 v e d i r e c t o r y
0072300 r e a d - l o c k e d u p o
0072320 n r e t u r n \r l o c k W r i
0072340 t e = 3 \t \t / / l e a v e
0072360 d i r e c t o r y w r i t e
0072400 - l o c k e d u p o n r e t
0072420 u r n \r ] \r \r / / - - - - - - -
0072440 - - - - - - - - - - - - - - - -
*
0072540 - - - - \r s t r u c t u r e F
0072560 D : \t \t / / F i l e D e s c
0072600 r i p t o r ( f o r l o o k
0072620 u p a n d o p e n f i l e
0072640 s ) \r / / - - - - - - - - - - -
0072660 - - - - 376 001 \0 017 232 - - - - - - -
0072700 - - - - - - - - - - - - - - - -
*
0072760 - - - - - \r [ \r f s w o r d \t
0073000 \t \t / / - > f i l e s y s
0073020 t e m i n w h i c h f i l
0073040 e e x i s t s \r l c @ L C \t
0073060 \t \t / / l o o k u p c o n t
0073100 r o l s p e c i f i c a t i o
0073120 n \r l o o k u p S t a t u s b
0073140 y t e \t / / l o o k u p s t
0073160 a t u s ( r e s u l t o f
0073200 L o o k u p F D ) \r m o d e b
0073220 y t e \t \t / / m o d e i n
0073240 w h i c h f i l e i s o p
0073260 e n \r d i r V e r 376 001 \0 276 223 s i
0073300 o n w o r d \t \t / / d i r e
0073320 c t o r y v e r s i o n f o
0073340 r w h i c h l o o k u p S t
0073360 a t u s i s v a l i d \r o l
0073400 d P a g e N u m b e r w o r d
0073420 \t / / p a g e n u m b e r
0073440 o f l a s t e x i s t i n g
0073460 p a g e \r l e n D i r S t r i
0073500 n g b y t e \t / / n u m b e
0073520 r o f c h a r s i n " <
0073540 d i r > " p o r t i o n o f
0073560 d r \r l e n S u b D i r S t r
0073600 i n g b y t e \t / / n u m b
0073620 e r o f c h a r s i n "
0073640 < d i r > s u b d i r > . . . s
0073660 u b d i r > " p o r t i o 376 001
0073700 \0 363 366 n \r l e n B o d y S t r i
0073720 n g b y t e \t / / n u m b e
0073740 r o f c h a r s i n " <
0073760 d i r > n a m e ! " p o r t i
0074000 o n \r i F i r s t S t a r b y
0074020 t e \t \t / / i n d e x o f
0074040 f i r s t " * " i n t e m
0074060 p l a t e ( i f a n y ) \r v
0074100 e r s i o n w o r d \t \t / /
0074120 p a r s e d v e r s i o n n
0074140 u m b e r \r d r w o r d \t \t \t
0074160 / / - > d i r e c t o r y
0074200 r e c o r d f o r f i l e \r
0074220 t e m p l a t e w o r d \t \t /
0074240 / - > K P M t e m p l a t
0074260 e ( m u l t i - f i l e d e
0074300 s i g 376 001 \0 5 017 n a t o r ) ,
0074320 i f n o n z e r o \r p a t h S
0074340 t k w o r d \t \t / / - > B
0074360 T r e e P a t h S t k f r o
0074400 m p r e v i o u s l o o k u
0074420 p , i f n o n z e r o ; \r \t
0074440 \t \t / / i n v a r i a n t :
0074460 i f p a t h S t k i s p r
0074500 e s e n t t h e n i t i s
0074520 t h e \r \t \t \t / / r e s u l
0074540 t o f d o i n g a B - T
0074560 r e e l o o k u p o n t h
0074600 i s F D . \r ] \r m a n i f e s
0074620 t l e n F D = s i z e F
0074640 D / 1 6 \r \r c o m p i l e i f
0074660 o f f s e t F D . l e n B o d
0074700 y S t r i n g / 376 001 \0 \b ) 1 6
0074720 n e 6 % o f f s e t F D
0074740 . v e r s i o n / 1 6 n e 7
0074760 % \r o f f s e t F D . d r
0075000 / 1 6 n e 8 t h e n \r
0075020 [ B a r f ( " F D s t r u
0075040 c t u r e d i s a g r e e s
0075060 w i t h a s s u m p t i o n s
0075100 i n I f s D i r K e y . a s
0075120 m " ) ] \r \f \r m a n i f e s t
0075140 \r [ \r / / E r r o r c o d e
0075160 s f o r I F S E r r o r \r e
0075200 c L o o k u p I m p o s s i b l
0075220 e C a s e = 1 0 0 \r e c O F
0075240 T F u l l = 1 0 1 \r e c O F
0075260 T U n l o c k E r r o r = 1
0075300 0 2 \r e c R e t u r n F r 376 001 \0
0075320 E 250 o m R e t u r n e d = 1
0075340 0 3 \r e c U n d e f i n e d O p
0075360 e n M o d e = 1 0 4 \r e c I
0075400 l l e g a l E x i s t i n g N a
0075420 m e = 1 0 5 \r e c N o t D I
0075440 F R e c = 1 0 6 \r e c D i r
0075460 E n t r y A l r e a d y E x i s
0075500 t s = 1 0 7 \r e c C a n t D
0075520 e l e t e D i r E n t r y =
0075540 1 0 8 \r e c F i l e N o t D I F
0075560 = 1 0 9 \r e c C a n t F i n
0075600 d D I F = 1 1 0 \r e c C a n
0075620 t T F S N e w D i s k = 1 1
0075640 1 \r e c C a n t F i n d I F S D
0075660 i r = 1 1 2 \r e c C a n t E
0075700 n t e r S y s t e m F i l e =
0075720 1 376 001 \0 ? 350 1 3 \r e c C a n t
0075740 D e s t r o y O F T = 1 1 4
0075760 \r e c C r e a t e E s s e n t i
0076000 a l F i l e = 1 1 5 \r e c I
0076020 l l e g a l L o o k u p C o n t
0076040 r o l = 1 1 6 \r e c I n v a
0076060 l i d F D = 1 1 7 \r e c M a
0076100 l f o r m e d D I F = 1 1 8
0076120 \r e c D i r N o t L o c k e d
0076140 = 1 1 9 \r e c B a d D R =
0076160 1 2 0 \r e c C a n t T F S I n i
0076200 t = 1 2 1 \r e c N o t O n L
0076220 i n e = 1 2 2 \r \r / / E r
0076240 r o r c o d e s r e t u r n
0076260 e d b y I F S d i r e c t
0076300 o r y o p e r a t i o n s . \r
0076320 / / S h o u 376 001 \0 035 H l d b
0076340 e i n a g r o u p f o r
0076360 e f f i c i e n t d i s p a
0076400 t c h . \r e c N a m e M a l f o
0076420 r m e d = 2 0 1 \t \t / / i
0076440 l l e g a l f i l e n a m e \r
0076460 e c I l l e g a l C h a r =
0076500 2 0 2 \t \t / / i l l e g a l
0076520 c h a r a c t e r i n f i l
0076540 e n a m e \r e c I l l e g a l S
0076560 t a r = 2 0 3 \t \t / / i l
0076600 l e g a l u s e o f " * "
0076620 \r e c I l l e g a l V e r s i o
0076640 n = 2 0 4 \t \t / / i l l e
0076660 g a l v e r s i o n n u m b
0076700 e r \r e c N a m e T o o L o n g
0076720 = 2 0 5 \r e c I l l 376 001 \0 256
0076740 250 e g a l D I F A c c e s s =
0076760 2 0 6 \t / / n o t a l l o
0077000 w e d t o a c c e s s D I
0077020 F \r e c F i l e N o t F o u n d
0077040 = 2 0 7 \r e c A c c e s s D
0077060 e n i e d = 2 0 8 \t \t / /
0077100 f i l e p r o t e c t e d \r e
0077120 c F i l e B u s y = 2 0 9 \t
0077140 \t / / a l r e a d y o p e n
0077160 i n c o n f l i c t i n g
0077200 w a y \r e c D i r N o t F o u n
0077220 d = 2 1 0 \t \t / / n o s
0077240 u c h d i r e c t o r y \r e c
0077260 A l l o c E x c e e d e d =
0077300 2 1 1 \t \t / / a l l o c a t i
0077320 o n e x c e e d e d \r e c F i
0077340 l 376 001 \0 E L e S y s t e m F u l
0077360 l = 2 1 2 \r e c V M e m F u
0077400 l l = e c F i l e S y s t e
0077420 m F u l l \r e c C r e a t e S t
0077440 r e a m F a i l e d = 2 1 3
0077460 \t / / p r o b a b l y d i s
0077500 k e r r o r i n f i l e \r
0077520 e c F i l e A l r e a d y E x i
0077540 s t s = 2 1 4 \t / / r e n
0077560 a m e " t o " f i l e a l
0077600 r e a d y e x i s t s \r e c F
0077620 i l e U n d e l e t a b l e =
0077640 2 1 5 \r e c U s e r N a m e
0077660 = 2 1 6 \t \t / / f a i l u r
0077700 e s f r o m l o g i n / c o
0077720 n n e c t \r e c U s e r P a s s
0077740 w o r d = 376 \0 326 & 363 2 1 7 \r
0077760 e c F i l e s O n l y = 2 1
0100000 8 \r e c C o n n e c t N a m e
0100020 = 2 1 9 \r e c C o n n e c t P
0100040 a s s w o r d = 2 2 0 \r e c
0100060 U n k n o w n U s e r N a m e
0100100 = 2 2 1 \t \t / / I n e v e
0100120 r h e a r d o f t h a t
0100140 u s e r n a m e , a n d \r \t
0100160 \t \t \t / / G r a p e v i n e
0100200 i s u n r e s p o n s i v e \r
0100220 e c D i s k E r r o r = 2 2
0100240 2 \r e c N a m e P a s s w o r d
0100260 R e q u i r e d = 2 2 3 \r ]
0100300 \r 377 \0 \0 I f s R s . d e c l \0 373
0100320 226 331 u U \0 \0 376 001 \0 # / / I f
0100340 s R s . d e c l - R e n d e
0100360 z v o u s S o c k e t M a n
0100400 a g e r d e c l a r a t i o n
0100420 s \r / / C o p y r i g h t X
0100440 e r o x C o r p o r a t i o n
0100460 1 9 7 9 , 1 9 8 0 , 1 9 8
0100500 1 \r / / L a s t m o d i f i
0100520 e d M a r c h 1 3 , 1 9 8
0100540 1 5 : 1 7 P M b y T a
0100560 f t \r \r / / - - - - - - - - - -
0100600 - - - - - - - - - - - - - - - -
*
0100700 - - \r s t r u c t u r e R S :
0100720 \t \t / / R e n d e z 376 001 \0 316 326
0100740 v o u s S o c k e t \r / / - -
0100760 - - - - - - - - - - - - - - - -
*
0101060 - - - - - - - - - - \r [ \r l i n
0101100 k w o r d \r s o c w o r d \t
0101120 \t / / - > P u p S o c \r p r
0101140 o c w o r d \r e x t r a S p a
0101160 c e w o r d \r t y p e w o r
0101200 d \t \t / / u s e d t o i n
0101220 i t i a l i z e R S C t x . t
0101240 y p e \r n u m A c c e p t e d
0101260 w o r d 2 \t / / n u m b e r
0101300 o f s u c c e s s f u l c
0101320 o n n e c t i o n a t t e m p
0101340 376 001 \0 $ 326 t s \r n u m R e f u s
0101360 e d w o r d 2 \t / / n u m
0101400 b e r o f u n s u c c e s s
0101420 f u l c o n n e c t i o n a
0101440 t t e m p t s \r ] \r m a n i f e
0101460 s t l e n R S = s i z e
0101500 R S / 1 6 \r \r \r / / - - - - - -
0101520 - - - - - - - - - - - - - - - -
*
0101620 - - - - - - \r s t r u c t u r e
0101640 R S C t x : \t / / R e n d e
0101660 z v o u s S o c k e t C o n
0101700 t e x t \r / / - - - - - - - - -
0101720 - - - - - - - - - - - - - - - -
0101740 - - - - - 376 001 \0 352 212 - - - - - -
0101760 - - - - - - - - - - - - - - - -
*
0102020 - - - - - - - - \r [ \r b l a n k
0102040 w o r d 3 \t \t / / s t a n
0102060 d a r d c o n t e x t h e a
0102100 d e r \r b l a n k b i t \t \t /
0102120 / u s e d t o b e k i l
0102140 l F l a g \r c o n n F l a g b
0102160 i t \t \t / / a c o n n e c t
0102200 i o n i s o p e n \r b l a n
0102220 k b i t 6 \r t y p e b y t
0102240 e \t \t / / s e r v e r t y p
0102260 e \r b s p S o c w o r d \t \t /
0102300 / - > B S P S o c \r u s e r
0102320 I n f o w o r d \t \t / / - >
0102340 U s e r I n f o \r 376 001 \0 201 s ]
0102360 \r m a n i f e s t l e n R S C
0102400 t x = s i z e R S C t x /
0102420 1 6 \r \r m a n i f e s t \r [ \r /
0102440 / j o b t y p e s \r / / *
0102460 * * I f y o u c h a n g e
0102500 t h e s e , y o u m a y
0102520 h a v e t o c h a n g e I
0102540 n i t J o b P o l i c y C o n t
0102560 r o l s . \r j o b T y p e F T P
0102600 = 0 \r j o b T y p e M T P
0102620 = 1 \r j o b T y p e T e l n e
0102640 t = 2 \r j o b T y p e B a c
0102660 k u p = 3 \r j o b T y p e M
0102700 a i l = 4 \r j o b T y p e M
0102720 i s c e l l a n e o u s = 5
0102740 \r j o b T y p e L e a f = 376
0102760 001 \0 020 250 6 \r j o b T y p e P r e
0103000 s s = 7 \r j o b T y p e N a
0103020 m e U p d a t e = 8 \r j o b
0103040 T y p e B o o t U p d a t e =
0103060 9 \r j o b T y p e C o p y D i
0103100 s k = 1 0 \r ] \r \r / / - - -
0103120 - - - - - - - - - - - - - - - -
*
0103220 - - - - - - - - - \r s t r u c t
0103240 u r e J P C : / / J o b
0103260 P o l i c y C o n t r o l s
0103300 - - s e e I f s R s M g r
0103320 I n i t . b c p l f o r d e
0103340 t a i l s \r / / - - - - - - - -
0103360 - - - - 376 001 \0 307 250 - - - - - - -
0103400 - - - - - - - - - - - - - - - -
*
0103460 - - - - - - - - - \r [ \r t y p e
0103500 C l a s s ^ 0 , 1 0 w o r d \r
0103520 c l a s s M a x ^ 0 , 4 w o r
0103540 d \r c l a s s S y s t e m M a x
0103560 ^ 0 , 4 w o r d \r ] \r \r / / -
0103600 - - - - - - - - - - - - - - - -
*
0103700 - - - - - - - - - - - \r s t r u
0103720 c t u r e J o b T ^ 0 , 0 :
0103740 w o r d / / a t a b l e
0103760 o f c o n t e 376 \0 ^ N m x t
0104000 s ( I F S j o b s ) \r / / -
0104020 - - - - - - - - - - - - - - - -
*
0104120 - - - - - - - - - - - \r 377 \0 \0 I
0104140 f s F t p P r o t . d e c l \0 373
0104160 231 \f 034 273 \0 \0 376 001 \0 265 355 / / I f
0104200 s F t p P r o t . d e c l - -
0104220 D e c l a r a t i o n s f o
0104240 r t h e I f s i m p l e m
0104260 e n t a t i o n o f F t p \r
0104300 / / C o p y r i g h t X e r
0104320 o x C o r p o r a t i o n 1
0104340 9 7 9 , 1 9 8 0 , 1 9 8 1 ,
0104360 1 9 8 2 \r / / L a s t m o
0104400 d i f i e d M a y 1 4 , 1
0104420 9 8 2 1 : 1 0 P M b y
0104440 B o g g s \r \r g e t " I f s R
0104460 s . d e c l " \r \r / / N o t e
0104500 t h a t t h i s i s s u
0104520 b s t a n t i a l l y d i f f
0104540 e r e n t f r o m t h e s
0104560 t a n d a r d p a c 376 001 \0 017 335
0104600 k a g e . \r / / R e n a m e
0104620 t h i s f i l e t o F t p
0104640 P r o t . d e c l t h e n c
0104660 o m p i l e t h e F t p p
0104700 a c k a g e f o r I f s . \r
0104720 \r / / - - - - - - - - - - - - -
0104740 - - - - - - - - - - - - - - - -
*
0105020 - - - - - - - - - - - - - - \r m
0105040 a n i f e s t \t \t / / p a c k
0105060 a g e w i d e d e c l a r a
0105100 t i o n s \r / / - - - - - - - -
0105120 - - - - - - - - - - - - - - - -
*
0105200 376 001 \0 i 212 - - - - - - - - - - -
0105220 - - - - - - - - \r [ \r s o c k e
0105240 t F T P = 3 \t \t / / w e l
0105260 l k n o w n P u p s o c k
0105300 e t \r \r F T P V e r s i o n =
0105320 1 \t \t / / F T P p r o t o
0105340 c o l v e r s i o n \r M T P
0105360 = t r u e \t \t / / c o n t r
0105400 o l s c o m p i l a t i o n
0105420 o f M T P c o d e \r \r Q u o
0105440 t e C h a r = $ ' \t \t / /
0105460 s t r i n g q u o t e c h a
0105500 r a c t e r \r \r / / d a t a
0105520 t y p e s \r U n s p e c i f i e
0105540 d = 0 \r T e x t = 1 \r B
0105560 i n a r y = 2 \r \r / / e n
0105600 d o f 376 001 \0 \n s l i n e c
0105620 o n v e n t i o n s \r C R =
0105640 1 \r C R L F = 2 \r T r a n s
0105660 p a r e n t = 3 \r ] \r \f \r /
0105700 / - - - - - - - - - - - - - - -
0105720 - - - - - - - - - - - - - - - -
*
0106000 - - - - - - - - - - - - \r m a n
0106020 i f e s t \r / / - - - - - - - -
0106040 - - - - - - - - - - - - - - - -
*
0106140 - - - \r [ \r / / F T P & M
0106160 T P m a r k b y t e s \r m a
0106200 r k R e t r i e v e 376 001 \0 } 373
0106220 = 1 \r m a r k S t o r e =
0106240 2 \t \t \t / / ' o l d ' s t o r
0106260 e p r o t o c o l \r m a r k Y
0106300 e s = 3 \r m a r k N o =
0106320 4 \r m a r k H e r e I s F i l e
0106340 = 5 \r m a r k E n d O f C o
0106360 m m a n d = 6 \r m a r k C o
0106400 m m e n t = 7 \r m a r k V e
0106420 r s i o n = 1 0 b \r m a r k
0106440 N e w S t o r e = 1 1 b \t \t
0106460 / / ' n e w ' s t o r e p r
0106500 o t o c o l \r m a r k D i r e c
0106520 t o r y = 1 2 b \t \t / / ' o
0106540 l d ' d i r e c t o r y p r
0106560 o t o c o l \r m a r k H e r e I
0106600 s P L i s t = 1 3 b \r m a 376
0106620 001 \0 202 206 r k N e w D i r e c t o
0106640 r y = 1 4 b \t \t / / ' n e w
0106660 ' d i r e c t o r y p r o t
0106700 o c o l \r / / 1 5 b i s a
0106720 v a i l a b l e \r m a r k D e l
0106740 e t e = 1 6 b \r m a r k R e
0106760 n a m e = 1 7 b \r m a r k S
0107000 t o r e M a i l = 2 0 b \r m
0107020 a r k R e t r i e v e M a i l
0107040 = 2 1 b \r m a r k F l u s h M
0107060 a i l B o x = 2 2 b \r m a r
0107100 k M a i l b o x E x c e p t i o
0107120 n = 2 3 b \r n u m M a r k s
0107140 = M T P ? 2 3 b , 1 7 b
0107160 \r ] \r \r / / - - - - - - - - - -
0107200 - - - - - - - - - - - - - - - -
0107220 - - - - 376 001 \0 \r 213 - - - - - - -
0107240 - - - - - - - - - - - - - - - -
*
0107300 - - - - - - \r s t r u c t u r e
0107320 M a r k [ s u b C o d e
0107340 b y t e ; m a r k b y t e
0107360 ] \r / / - - - - - - - - - - - -
0107400 - - - - - - - - - - - - - - - -
*
0107460 - - - - - - - - - - - - - - - \r
0107500 \r / / - - - - - - - - - - - - -
0107520 - - - - - - - - - - - - - - - -
*
0107600 - - - - - - - - - - - - - - \r s
0107620 t r u c t u r e 376 001 \0 0 004 M T
0107640 : \t / / M a r k T a b l e \r
0107660 / / - - - - - - - - - - - - - -
0107700 - - - - - - - - - - - - - - - -
*
0107760 - - - - - - - - - - - - - \r [ \r
0110000 s t r i n g w o r d \t / / -
0110020 > s t r i n g \r c o d e b y
0110040 t e \t / / m a r k b y t e
0110060 v a l u e \r q B i t s b y t e
0110100 = \t / / q u a l i f y i n g
0110120 b i t s \r [ \r b l
0110140 a n k b i t 5 \r p t x
0110160 b i t \t / / p r i n t t e
0110200 x t a f t e r t h i s m a
0110220 r k \r n f b i t \t / 376 001
0110240 \0 370 233 / d o n t f e t c h
0110260 b y t e s p a s t t h i s
0110300 m a r k \r s c b i t \t /
0110320 / s u b c o d e b y t e f
0110340 o l l o w s t h i s m a r k
0110360 \r ] \r ] ^ 1 , n u m M a
0110400 r k s \r m a n i f e s t l e n
0110420 M T = s i z e M T / 1 6 \r
0110440 \r m a n i f e s t \r [ \r / / M
0110460 T q u a l i f y i n g b i t
0110500 s \r p t x = 1 b 1 5 r s h
0110520 i f t ( o f f s e t M T . p
0110540 t x ^ 1 r e m 1 6 ) \r n f
0110560 = 1 b 1 5 r s h i f t ( o
0110600 f f s e t M T . n f ^ 1 r e
0110620 m 1 6 ) \r s c = 1 b 1 5
0110640 r s h 376 001 \0 = 246 i f t ( o f f
0110660 s e t M T . s c ^ 1 r e m
0110700 1 6 ) \r ] \r \f \r / / - - - - - -
0110720 - - - - - - - - - - - - - - - -
*
0111020 - - - - - \r s t r u c t u r e
0111040 T i m e [ h w o r d ; l
0111060 w o r d ] \r / / - - - - - -
0111100 - - - - - - - - - - - - - - - -
*
0111200 - - - - - \r \r / / - - - - - - -
0111220 - - - - - - - - - - - - - - - -
0111240 - - - - - - - - 376 001 \0 \f 332 - - -
0111260 - - - - - - - - - - - - - - - -
*
0111340 - - - - - - - \r s t r u c t u r
0111360 e D P R P : \r / / - - - - - -
0111400 - - - - - - - - - - - - - - - -
*
0111520 - - - \r [ \r b l a n k b i t
0111540 2 \r S F I L b i t \t / / S e
0111560 r v e r - F i l e n a m e \r D E
0111600 V I b i t \t / / D e v i c e
0111620 \r D I R E b i t \t / / D i r
0111640 e c t o r y \r N A M B b 376 001 \0
0111660 351 ; i t \t / / N a m e - B o d
0111700 y \r V E R S b i t \t / / V e
0111720 r s i o n \r T Y P E b i t \t /
0111740 / T y p e \r B Y T E b i t \t
0111760 / / B y t e - s i z e \r E O L
0112000 C b i t \t / / E n d - o f -
0112020 l i n e - c o n v e n t i o n \r
0112040 S I Z E b i t \t / / S i z e
0112060 \r A U T H b i t \t / / A u t
0112100 h o r \r C D A T b i t \t / /
0112120 C r e a t i o n - d a t e \r R D
0112140 A T b i t \t / / R e a d - d
0112160 a t e \r W D A T b i t \t / /
0112200 W r i t e - d a t e \r C S U M
0112220 b i t \t / / C h e c k s u m \r
0112240 ] \r \r / / - - - - - - - - - - -
0112260 - - 376 001 \0 210 Y - - - - - - - - -
0112300 - - - - - - - - - - - - - - - -
*
0112360 - - - - - \r s t r u c t u r e
0112400 F P L : / / F i l e P r
0112420 o p e r t y L i s t \r / / - -
0112440 - - - - - - - - - - - - - - - -
*
0112540 - - - - - - - - - \r [ \r U N A M
0112560 w o r d \t / / U s e r - N a
0112600 m e < S t r i n g > \r U P S W
0112620 w o r d \t / / U s e r - P a
0112640 s s w o r d < S t r i n g > \r
0112660 C N A M w o 376 001 \0 \r 377 r d \t /
0112700 / C o n n e c t - n a m e <
0112720 S t r i n g > \r C P S W w o r
0112740 d \t / / C o n n e c t - p a s
0112760 s w o r d < S t r i n g > \r S
0113000 F I L w o r d \t / / S e r v
0113020 e r - F i l e n a m e < S t r
0113040 i n g > \r D E V I w o r d \t /
0113060 / D e v i c e < S t r i n g
0113100 > \r D I R E w o r d \t / / D
0113120 i r e c t o r y < S t r i n g
0113140 > \r N A M B w o r d \t / / N
0113160 a m e - B o d y < S t r i n g
0113200 > \r V E R S w o r d \t / / v
0113220 e r s i o n < S t r i n g > \r
0113240 T Y P E w o r d \t / / T y p
0113260 e < T e x t | B i n a 376 001 \0 217
0113300 332 r y | U n s p e c i f e d > \r
0113320 B Y T E w o r d \t / / B y t
0113340 e - s i z e < N u m b e r > \r
0113360 E O L C w o r d \t / / E n d
0113400 - o f - l i n e - c o n v e n t
0113420 i o n < C R | C R L F | T r a
0113440 n s p a r e n t > \r S I Z E w
0113460 o r d 2 \t / / S i z e < N
0113500 u m b e r > \r A U T H w o r d
0113520 \t / / A u t h o r < S t r i
0113540 n g > \r C D A T @ T i m e \t /
0113560 / c r e a t i o n - d a t e
0113600 < A l t o f o r m a t d a t
0113620 e > \r R D A T @ T i m e \t / /
0113640 r e a d - d a t e < A l t o
0113660 f o r m a t d a t e > \r W D
0113700 A 376 001 \0 016 333 T @ T i m e \t / /
0113720 w r i t e - d a t e < A l t
0113740 o f o r m a t d a t e > \r C
0113760 S U M w o r d \t / / C h e c
0114000 k s u m < N u m b e r > \r D P
0114020 R P @ D P R P \t / / D e s i
0114040 r e d - P r o p e r t y < p r
0114060 o p e r t y n a m e > \r ] \r \r
0114100 / / - - - - - - - - - - - - - -
0114120 - - - - - - - - - - - - - - - -
*
0114200 - - - - - - - - - - - - - \r s t
0114220 r u c t u r e M P L : \t / /
0114240 M a i l P r o p e r t y L i
0114260 s t \r / / - - - - - - - - - - -
0114300 - - - - - - 376 001 \0 002 0 - - - - -
0114320 - - - - - - - - - - - - - - - -
*
0114400 - - - - - \r [ \r M L B X w o r
0114420 d \t / / M a i l b o x < s t
0114440 r i n g > \r L G T H w o r d
0114460 2 \t / / L e n g t h < N u m
0114500 b e r > \r R C V D @ T i m e \t
0114520 / / D a t e - R e c e i v e d
0114540 < A l t o f o r m a t d a
0114560 t e > \r S N D R w o r d \t / /
0114600 S e n d e r < s t r i n g >
0114620 \r ] \r \r / / - - - - - - - - - -
0114640 - - - - - - - - - - - - - - - -
*
0114700 - - - - - - - - - - - 376 001 \0 375 216
0114720 - - - - - - - - - - - - - - - -
0114740 - - - - - - \r c o m p i l e t e
0114760 s t M T P \r i f s o
0115000 [ s t r u c t u r e P L [
0115020 @ F P L ; @ M P L ] ] \r
0115040 i f n o t [ s t r u c
0115060 t u r e P L [ @ F P L ]
0115100 ] \r / / - - - - - - - - - - -
0115120 - - - - - - - - - - - - - - - -
*
0115220 \r m a n i f e s t l e n P L
0115240 = s i z e P L / 1 6 \r \f \r /
0115260 / - - - - - - - - - - - - - - -
0115300 - - - - - - - - - - - - - - - -
0115320 376 001 \0 252 8 - - - - - - - - - - -
0115340 - - - - - - - - - - - - - - - -
*
0115400 - \r s t r u c t u r e P r o p
0115420 : \t \t / / a n o b j e c t \r
0115440 / / - - - - - - - - - - - - - -
0115460 - - - - - - - - - - - - - - - -
*
0115540 - - - - - - - - - - - - - \r [ \r
0115560 S c a n w o r d \t \t / / c a
0115600 l l 0 \r G e n w o r d \t \t /
0115620 / c a l l 1 \r F r e e w o
0115640 r d \t \t / / c a l l 2 \r I n
0115660 i t w o r d \t \t / / c a l l
0115700 3 \r p O f f s e t w o r d \t
0115720 \t / / w 376 001 \0 G 354 o r d o f
0115740 f s e t i n t o p L i s t \r
0115760 p E r r S u b C o d e w o r d
0116000 \t / / m a r k N o s u b c o
0116020 d e \r p D P R P w o r d \t \t /
0116040 / D P R P b i t v e c t o
0116060 r \r p E x t r a w o r d \t \t /
0116100 / o b j e c t p r i v a t e
0116120 i n t e r p r e t a t i o n \r
0116140 ] \r m a n i f e s t l e n P r
0116160 o p = s i z e P r o p / 1
0116200 6 \r \r / / - - - - - - - - - - -
0116220 - - - - - - - - - - - - - - - -
*
0116320 \r s t r u c t u r e 376 001 \0 325 ]
0116340 F T P S F I : \t / / F t p S
0116360 e r v e r F i l e I n t e r
0116400 f a c e \r / / - - - - - - - - -
0116420 - - - - - - - - - - - - - - - -
*
0116520 - - \r [ \r V e r s i o n w o r
0116540 d \t \t / / V e r s i o n ( b s
0116560 p S t r e a m , n i l ) \r S t o
0116600 r e w o r d \t \t / / S t o r
0116620 e ( p L i s t ) = t r u e |
0116640 f a l s e \r S t o r e F i l e
0116660 w o r d \t \t / / S t o r e F i
0116700 l e ( p L i s t ) = t r u e
0116720 | f a l s e \r S t o r e C l e 376
0116740 001 \0 254 371 a n u p w o r d \t / /
0116760 S t o r e C l e a n u p ( p L
0117000 i s t , o k ) \r R e t r i e v e
0117020 w o r d \t \t / / R e t r i e
0117040 v e ( l o c a l P L i s t , r e
0117060 m o t e P L i s t ) = t r u
0117100 e | f a l s e \r R e t r i e v e
0117120 F i l e w o r d \t / / R e t
0117140 r i e v e F i l e ( l o c a l P
0117160 L i s t ) = t r u e | f a l
0117200 s e \r R e t r i e v e C l e a n
0117220 u p w o r d \t / / R e t r i
0117240 e v e C l e a n u p ( l o c a l
0117260 P L i s t , o k ) \r D e l e t e
0117300 w o r d \t \t / / D e l e t e
0117320 ( l o c a l P L i s t , r e m o
0117340 t e P L 376 001 \0 D d i s t ) =
0117360 t r u e | f a l s e \r D e l e t
0117400 e F i l e w o r d \t \t / / D
0117420 e l e t e F i l e ( l o c a l P
0117440 L i s t ) = t r u e | f a l
0117460 s e \r D i r e c t o r y w o r
0117500 d \t \t / / D i r e c t o r y (
0117520 l o c a l P L i s t , r e m o t
0117540 e P L i s t ) = t r u e | f
0117560 a l s e \r R e n a m e w o r d
0117600 \t \t / / R e n a m e ( o l d P
0117620 L i s t , n e w P L i s t ) =
0117640 t r u e | f a l s e \r ] \r \r /
0117660 / - - - - - - - - - - - - - - -
0117700 - - - - - - - - - - - - - - - -
*
0117740 - - - - - - - - - 376 001 \0 253 305 - -
0117760 - - - - - - - - - - - - - - - -
0120000 - \r s t r u c t u r e F T P S
0120020 M I : \t / / F t p S e r v e
0120040 r M a i l I n t e r f a c e
0120060 \r / / - - - - - - - - - - - - -
0120100 - - - - - - - - - - - - - - - -
*
0120160 - - - - - - - - - - - - - - \r [
0120200 \r S t o r e M a i l w o r d \t
0120220 \t / / S t o r e M a i l ( p L
0120240 i s t ) = t r u e | f a l s
0120260 e \r S t o r e M a i l M e s s a
0120300 g e w o r d \t / / S t o r e
0120320 M a i l M e s s a g e ( ) =
0120340 t r u e | f a l s e \r S t o 376 001
0120360 \0 p 336 r e M a i l C l e a n u p
0120400 w o r d \t / / S t o r e M a
0120420 i l C l e a n u p ( o k ) \r R e
0120440 t r i e v e M a i l w o r d \t
0120460 / / R e t r i e v e M a i l (
0120500 p L i s t ) = p L i s t | f
0120520 a l s e \r R e t r i e v e M a i
0120540 l M e s s a g e w o r d / /
0120560 R e t r i e v e M a i l M e s
0120600 s a g e ( l o c a l P L i s t ,
0120620 r e m o t e P L i s t ) = t
0120640 | f \r R e t r i e v e M a i l C
0120660 l e a n u p w o r d / / R
0120700 e t r i e v e M a i l C l e a n
0120720 u p ( r e m o t e P L i s t , o
0120740 k ) \r ] \r \r / / - - - - - - - -
0120760 - - - 376 001 \0 = < - - - - - - - -
0121000 - - - - - - - - - - - - - - - -
*
0121060 - - - - - - - - \r c o m p i l e
0121100 t e s t M T P \t \t / / F t p
0121120 S e r v e r I n t e r f a c
0121140 e \r i f s o [ s t r
0121160 u c t u r e F T P S I [ @
0121200 F T P S F I ; @ F T P S M I
0121220 ] ] \r i f n o t [ s
0121240 t r u c t u r e F T P S I [
0121260 @ F T P S F I ] ] \r / / -
0121300 - - - - - - - - - - - - - - - -
*
0121360 - - - - - - - - 376 001 \0 ] 023 - - -
0121400 - - - - - - - - - - - - - - - \r
0121420 m a n i f e s t l e n F T P S
0121440 I = s i z e F T P S I / 1
0121460 6 \r \f \r / / - - - - - - - - - -
0121500 - - - - - - - - - - - - - - - -
*
0121600 - \r s t r u c t u r e F T P I
0121620 : \t \t / / F t p I n t e r f
0121640 a c e \r / / - - - - - - - - - -
0121660 - - - - - - - - - - - - - - - -
*
0121760 - \r [ \r d s p S t r e a m 376 001 \0
0122000 366 305 w o r d \t \t / / - > d
0122020 i s p l a y s t r e a m \r b s
0122040 p S t r e a m w o r d \t \t / /
0122060 - > b s p S t r e a m \r l
0122100 s t w o r d \t \t / / - > l
0122120 o g s t r e a m \r d l s w o
0122140 r d \t \t / / - > d e b u g g
0122160 i n g s t r e a m \r d b l s
0122200 w o r d \t \t / / - > b s p
0122220 a n d d e b u g g i n g s t
0122240 r e a m \r g e t C m d S t r i n
0122260 g w o r d \t / / - > l a s
0122300 t s t r i n g r e a d b y
0122320 G e t C o m m a n d \r f l a g
0122340 s w o r d = \r [ \r
0122360 d e b u g F l a g b i t \t /
0122400 / 376 001 \0 245 # t r u e e n a b
0122420 l e s l o t s o f e x t r
0122440 a p r i n t o u t \r s e
0122460 r v e r F l a g b i t \t / /
0122500 t r u e i f t h i s i s
0122520 a s e r v e r \r n e w D
0122540 i r e c t o r y b i t \t / /
0122560 s e r v e r i m p l e m e n t
0122600 s m a r k N e w D i r e c t o
0122620 r y \r n e w S t o r e b
0122640 i t \t \t / / s e r v e r i m
0122660 p l e m e n t s m a r k N e w
0122700 S t o r e \r b l a n k b
0122720 i t 1 2 \r ] \r @ F T P S
0122740 I \t \t \t / / s e r v e r i n
0122760 t e r f a c e \r ] \r m a n i f e
0123000 s t l e n F 376 001 \0 321 372 T P I
0123020 = s i z e F T P I / 1 6 \r \r
0123040 / / - - - - - - - - - - - - - -
0123060 - - - - - - - - - - - - - - - -
*
0123140 - - - - - - - - - - - - - \r s t
0123160 r u c t u r e F t p C t x : \t
0123200 / / F t p C o n t e x t \r /
0123220 / - - - - - - - - - - - - - - -
0123240 - - - - - - - - - - - - - - - -
*
0123320 - - - - - - - - - - - - \r [ \r @
0123340 R S C t x \r f t p i w o r d
0123360 = @ F T P I \r [ \r
0123400 d i s k S t r e a m w 376 001 \0 x
0123420 016 o r d \t / / - > d i s k
0123440 s t r e a m \r f d w o r
0123460 d \t \t / / - > I F S f i l
0123500 e d e s c r i p t o r \r
0123520 ] = \r [ \r m s g
0123540 w o r d \t \t / / - > M s g
0123560 d e s c r i p t o r \r i n
0123600 d e x w o r d \t \t / / m a i
0123620 l b o x i n d e x \r ] \r
0123640 ] \r m a n i f e s t l e n E x
0123660 t r a F t p C t x = s i z e
0123700 F t p C t x / 1 6 - 3 \r \r m a
0123720 n i f e s t \r [ \r / / F i l e
0123740 S e r v e r e r r o r c o
0123760 d e s \r e c B i n a r y N o t T
0124000 e x t = 6 0 1 \t / / 1 0 2
0124020 376 001 \0 234 \b f i l e t y p e
0124040 i s B i n a r y n o t T e
0124060 x t \r e c M a y B e T e x t =
0124100 6 0 2 \t / / W a r n i n g :
0124120 $ S m a y b e t y p e
0124140 T e x t \r e c C R L F C o n v e
0124160 r s i o n = 6 0 3 \t / / 1
0124200 0 2 C R L F c o n v e r s i
0124220 o n n o t s u p p o r t e d
0124240 \r e c B y t e S i z e = 6 0
0124260 4 \t / / 1 0 2 r e q u e s t
0124300 e d b y t e s i z e n o t
0124320 e q u a l t o f i l e b
0124340 y t e s i z e \r e c T y p e R
0124360 e q u i r e d = 6 0 5 \t / /
0124400 1 0 2 T Y P E p r o p e r
0124420 t y r e q 376 001 \0 255 233 u i r e d
0124440 \r e c B y t e R e q u i r e d
0124460 = 6 0 6 \t / / 1 0 2 B Y T
0124500 E - S I Z E p r o p e r t y
0124520 r e q u i r e d \r e c N o t R e
0124540 t r i e v e d = 6 0 7 \t / /
0124560 1 1 0 $ S n o t r e t r
0124600 i e v e d : $ P \r e c N o t I
0124620 m p l e m e n t e d = 6 0 8
0124640 \t / / 1 U n i m p l e m e n
0124660 t e d c o m m a n d \r e c N o
0124700 t S t o r e d = 6 0 9 \t / /
0124720 1 0 7 n o t s t o r e d :
0124740 $ P \r e c N e t T o D i s k
0124760 = 6 1 0 \t / / 1 1 0 B S P
0125000 R e a d B l o c k f a i l e d
0125020 \r e c D i s k T o N e 376 \0 Y d f
0125040 t = 6 1 1 \t / / 1 1 0 B
0125060 S P W r i t e B l o c k f a i
0125100 l e d \r e c F i l e D a m a g e
0125120 d = 6 1 2 \t / / C a u t i
0125140 o n : f i l e $ S i s d
0125160 a m a g e d \r ] \r 377 \0 \0 I f s M
0125200 a i l . d e c l \0 373 226 362 034 320 \0 \0
0125220 376 001 \0 # d / / I f s M a i l .
0125240 d e c l - I n t e r i m F
0125260 i l e S y s t e m I n t e r
0125300 i m M a i l S y s t e m \r /
0125320 / C o p y r i g h t X e r o
0125340 x C o r p o r a t i o n 1 9
0125360 7 9 , 1 9 8 0 , 1 9 8 1 \r /
0125400 / L a s t m o d i f i e d
0125420 A p r i l 1 , 1 9 8 1 1
0125440 0 : 0 4 A M b y T a f t \r
0125460 \r / / O v e r v i e w \r / / \r
0125500 / / M a i l a r r i v e s
0125520 e i t h e r f r o m a m a
0125540 i l u s e r p r o g r a m
0125560 s u c h a s L a u r e l ,
0125600 o r \r / / f r o m a n o t
0125620 h e r m 376 001 \0 312 205 a i l s y
0125640 s t e m s u c h a s a n o
0125660 t h e r I f s o r M a x c
0125700 , o r f r o m \r / / s o
0125720 m e j o b i n s i d e I F
0125740 S ( m a i l e r , p r i n t
0125760 e r , e t c ) . \r / / T h e
0126000 M a i l T r a n s f e r P
0126020 r o t o c o l i s s p o k e
0126040 n o v e r a B y t e S t
0126060 r e a m P r o t o c o l \r / /
0126100 c o n n e c t i o n a f t
0126120 e r r e n d e z v o u s i n g
0126140 a t t h e w e l l k n o
0126160 w n M a i l S e r v e r s
0126200 o c k e t . \r / / T h e I F
0126220 S m a i l s y s 376 001 \0 226 N t
0126240 e m u s e s t w o t y p e
0126260 s o f j o b : M T P S e r
0126300 v e r s a n d M a i l J o b
0126320 . \r / / A n M T P S e r v
0126340 e r a c c e p t s m a i l
0126360 f r o m t h e n e t a n d
0126400 q u e u e s i t f o r M
0126420 a i l J o b . \r / / M a i l
0126440 J o b s o r t s n e w l y
0126460 a r r i v e d m a i l a n d
0126500 f o r w a r d s q u e u e d
0126520 m a i l . \r / / S o r t
0126540 i n g c o n s i s t s o f
0126560 e n u m e r a t i n g n e w
0126600 m a i l f i l e s a n d a
0126620 p p e n d i n g c o p i e s 376
0126640 001 \0 M 311 \r / / e i t h e
0126660 r t o a l o c a l m a i
0126700 l b o x o r t o a q u e
0126720 u e f i l e f o r a n o t
0126740 h e r m a i l s e r v e r .
0126760 \r / / F o r w a r d i n g
0127000 c o n s i s t s o f e n u
0127020 m e r a t i n g t h e q u e
0127040 u e f i l e s a n d t r y
0127060 i n g t o s e n d \r / /
0127100 t h e m t o r e m o t e
0127120 m a i l s e r v e r s .
0127140 M a i l J o b i s a n M T
0127160 P u s e r . \r \r / / C o n t
0127200 r o l \r / / \r / / T h e e n
0127220 t i r e M a i l s y s t e m
0127240 c a n 376 001 \0 216 3 b e t u r
0127260 n e d o n o r o f f b y
0127300 t o g g l i n g M S . e n a
0127320 b l e d . \r / / I f t h i
0127340 s b i t i s o f f , a l
0127360 l m a i l - r e l a t e d a
0127400 c t i v i t y i s d i s a b
0127420 l e d : \r / / n o m a i
0127440 l w i l l b e s t o r e d
0127460 o r r e t r i e v e d , \r /
0127500 / n o m a i l w i l l
0127520 b e s o r t e d t o l o
0127540 c a l m a i l b o x e s ,
0127560 a n d \r / / n o m a i l
0127600 w i l l b e f o r w a r d
0127620 e d t o o t h e r s i t e
0127640 s . \r / / T h e 376 001 \0 w 8 F
0127660 o r w a r d e r c a n b e
0127700 t u r n e d o n o r o f f
0127720 b y t o g g l i n g M S .
0127740 f o r w a r d . \r / / D i s
0127760 a b l i n g f o r w a r d i n
0130000 g a l l o w s I F S t o
0130020 s u p p o r t a c l o s e d
0130040 m a i l c o m m u n i t y .
0130060 \r / / I f t h i s b i t
0130100 i s o f f : \r / / n o
0130120 m a i l w i l l b e a c
0130140 c e p t e d f o r n o n - l
0130160 o c a l m a i l b o x e s ,
0130200 a n d \r / / n o m a i l
0130220 w i l l b e f o r w a r d
0130240 e d t o o t h e r s i 376 001
0130260 \0 277 255 t e s . \r \r / / D i s t
0130300 r i b u t i o n l i s t s \r /
0130320 / \r / / A m a i l s e r v
0130340 e r i s a l s o a n F t
0130360 p s e r v e r . R e q u e
0130400 s t s t o r e t r i e v e
0130420 a f i l e \r / / a r e i
0130440 n t e r c e p t e d . T h e
0130460 j o b i s l o g g e d i
0130500 n a s " M a i l " , a n d
0130520 t h e r e q u e s t e d \r /
0130540 / f i l e n a m e i s p
0130560 r e f i x e d w i t h a s
0130600 y s t e m p a r a m e t e r
0130620 s t r i n g a n d p o s t f
0130640 i x e d \r / / w i t h " .
0130660 d l " 376 001 \0 215 g . T h e r
0130700 e t r i e v e i s t h e n
0130720 a l l o w e d t o p r o c e
0130740 e d . \r \r / / G r a p e v i n
0130760 e s u p p o r t \r / / \r / /
0131000 T w o s y s t e m p a r a m
0131020 e t e r s p e r m i t a n
0131040 I F S m a i l s e r v e r
0131060 t o c o o p e r a t e w i t
0131100 h \r / / t h e n e w m a
0131120 i l s y s t e m w h i c h
0131140 w i l l e v e n t u a l l y
0131160 r e p l a c e i t . \r / /
0131200 I f a ' r e g i s t r y '
0131220 s t r i n g i s s p e c i
0131240 f i e d , r e c i p i e n t s
0131260 e n d i n g 376 001 \0 232 6 i n
0131300 " . r e g i s t r y " \r / /
0131320 w i l l b e t r e a t e
0131340 d a s i f t h e r e g i
0131360 s t r y r e s o l v e d t o
0131400 t h e m a i l s e r v e r
0131420 a d d r e s s . \r / / I
0131440 f a ' g v N a m e ' s t r
0131460 i n g i s s p e c i f i e d
0131500 , a l l m a i l f o r n
0131520 o n - l o c a l \r / / m
0131540 a i l b o x e s i s f o r w
0131560 a r d e d t h e r e . I f
0131600 t h i s s t r i n g i s
0131620 n o t s e t b y t h e \r /
0131640 / m a i l s y s t e m
0131660 a d m i n i s t r a t o 376 001 \0
0131700 U < r , m a i l i s f o r
0131720 w a r d e d t o t h e r e
0131740 c i p i e n t \r / / n a
0131760 m e ' s r e g i s t r y . \r \f
0132000 \r / / U n d e l i v e r a b l
0132020 e m a i l \r / / \r / / I f
0132040 a m e s s a g e i s u n d
0132060 e l i v e r a b l e , t h e n
0132100 i t i s r e t u r n e d
0132120 t o i t s s e n d e r . \r /
0132140 / I f t h e r e c i p i e
0132160 n t o f a n u n d e l i v
0132200 e r a b l e m e s s a g e i
0132220 s t h e d e a d l e t t e
0132240 r \r / / d e p a r t m e n t
0132260 , t h e n t h e m e s s a
0132300 g e 376 001 \0 & 225 i s d i s c a
0132320 r d e d w i t h o u t a t
0132340 r a c e . \r / / T h e n a
0132360 m e o f t h e d e a d l
0132400 e t t e r d e p a r t m e n t
0132420 i s a s y s t e m p a r
0132440 a m e t e r . \r / / O t h e r
0132460 w i s e , a n e w m e s s
0132500 a g e i s c r e a t e d w
0132520 i t h t h e f o l l o w i n
0132540 g c o n t e n t s : \r / / \r /
0132560 / T o : ( s e n d e r e
0132600 q M a i l e r . T h i s H o s
0132620 t ? D e a d L e t t e r , S
0132640 e n d e r ) \r / / F r o m :
0132660 M a i l e r . T h i s H o s t
0132700 \r / / S u 376 001 \0 246 033 b j e c
0132720 t : U n d e l i v e r a b l e
0132740 m a i l \r / / \r / / U n d
0132760 e l i v e r a b l e t o : <
0133000 l i s t o f r e c i p i e n
0133020 t s > \r / / - - - - - - - -
0133040 - - - - - - - - - - - - - - - \r
0133060 / / < m e s s a g e > \r \r /
0133100 / S t a t i s t i c s \r / / \r
0133120 / / S t a t i s t i c s a r
0133140 e k e p t o n f i v e i
0133160 t e m s ; t h r e e t h i n
0133200 g s a r e r e c o r d e d :
0133220 \r / / S a m p l e s : t o
0133240 t a l n u m b e r o f t i
0133260 m e s a v a l u e w a s
0133300 r e c o r d e d . \r / / 376 001 \0 352
0133320 256 A v e r a g e : a v e r
0133340 a g e v a l u e o f t h e
0133360 s t a t i s t i c . \r / /
0133400 H i s t o g a r m : e i g h t
0133420 s l o t l o g a r i t h m i
0133440 c a l l y s c a l e d h i s
0133460 t o g r a m o f v a l u e s
0133500 . \r / / T h e f i v e i t
0133520 e m s a r e : \r / / L e n
0133540 g t h ( c h a r a c t e r s )
0133560 - l e n g t h o f a m
0133600 e s s a g e r e c e i v e d
0133620 b y t h e m a i l s e r v
0133640 e r . \r / / R e c i p i e n
0133660 t s - t h e n u m b e r
0133700 o f r e c i p i e n t s ( T
0133720 o 376 001 \0 271 h : p l u s c c :
0133740 ) o f a m e s s a g e . \r
0133760 / / S o r t d e l a y (
0134000 s e c ) - t i m e b e t w
0134020 e e n r e c e i v i n g a
0134040 m e s s a g e a n d a p p e
0134060 n d i n g \r / / c o p i e
0134100 s t o l o c a l m a i l b
0134120 o x e s o r q u e u e i n g
0134140 c o p i e s f o r f o r w
0134160 a r d i n g . \r / / F w d
0134200 d e l a y ( s e c ) - t i
0134220 m e b e t w e e n q u e u e
0134240 i n g a m e s s a g e f o
0134260 r a r e m o t e \r / /
0134300 m a i l s e r v e r a n d
0134320 s u c e s s 376 001 \0 206 [ f u l l y
0134340 d e l i v e r i n g i t . \r
0134360 / / R e t r i e v e d e l
0134400 a y ( m i n ) - t i m e
0134420 b e t w e e n a p p e n d i n
0134440 g a m e s s a g e t o a
0134460 m a i l b o x \r / / a n
0134500 d t h e r e c i p i e n t
0134520 r e t r i e v i n g i t . \r /
0134540 / M e s s a g e s t h a t
0134560 a r e d i s c a r d e d a
0134600 s u n d e l i v e r a b l e
0134620 a r e c o u n t e d . \r \r / /
0134640 F i l e c o n v e n t i o n
0134660 s \r / / \r / / A M a i l F
0134700 i l e c o n s i s t s o f
0134720 0 o r m o r e M 376 001 \0 \n 325
0134740 e s s a g e s . \r / / A M
0134760 e s s a g e c o n s i s t s
0135000 o f a H e a d e r , s o m
0135020 e B l o c k s a n d s o m
0135040 e T e x t . \r / / A H
0135060 e a d e r ( s t r u c t u r e
0135100 M H ) d e s c r i b e s a
0135120 m e s s a g e . \r / /
0135140 I t c o n t a i n s p o i n
0135160 t e r s t o t h e B l o c
0135200 k a n d T e x t a r e a s
0135220 , l e n g t h s , e t c . \r
0135240 / / A B l o c k ( s t
0135260 r u c t u r e M B ) c o n s
0135300 i s t s o f a T y p e ,
0135320 a L e n g t h , a n d a
0135340 376 001 \0 315 ! B o d y . \r / /
0135360 T h e T y p e d e s c r i
0135400 b e s t h e f o r m a t o
0135420 f t h e b l o c k . \r / /
0135440 T h e L e n g t h i s
0135460 t h e l e n g t h o f t
0135500 h e b l o c k I N W O R D
0135520 S i n c l u d i n g i t s e
0135540 l f . \r / / T h e B o
0135560 d y i s a r b i t r a r y
0135600 s t u f f w h o s e f o r m
0135620 a t d e p e n d s o n t h
0135640 e b l o c k t y p e . \r / /
0135660 T h e T e x t i s a
0135700 s e q u e n c e o f b y t
0135720 e s . I t s l e n g t h
0135740 m a y b 376 001 \0 s s e o d d ,
0135760 \r / / i n w h i c h
0136000 c a s e i t i s f o l l o
0136020 w e d b y a g a r b a g e
0136040 p a d d i n g b y t e . \r /
0136060 / \r / / 3 2 - b i t b y t e
0136100 p o s i t i o n s a r e u
0136120 s e d i n t h e h e a d e
0136140 r . \r / / A l l c o m p o n
0136160 e n t s ( M e s s a g e , H
0136200 e a d e r , B l o c k , T e
0136220 x t , e t c . ) b e g i n
0136240 o n \r / / w o r d b o u n
0136260 d a r i e s a n d a r e e
0136300 v e n n u m b e r s o f b
0136320 y t e s l o n g . \r / / \r / /
0136340 < M a i l > N e w 376 001 \0 017 223 >
0136360 M a i l ! * i s m a i l a
0136400 w a i t i n g s o r t i n g
0136420 b y M a i l J o b . \r / / <
0136440 M a i l > B o x > U s e r ! 1
0136460 i s m a i l a w a i t i n g
0136500 r e t r i e v a l b y U s
0136520 e r . \r / / < M a i l > F w d
0136540 > H o s t ! 1 i s m a i l
0136560 a w a i t i n g f o r w a r d
0136600 i n g t o H o s t . \r \f \r m
0136620 a n i f e s t \r [ \r s o c k e t
0136640 M a i l = 7 \t \t / / w e l
0136660 l k n o w n P u p s o c k
0136700 e t \r \r m h S e a l = 1 1 0
0136720 b \t \t / / M H s e a l \r m h
0136740 V e r s i o n = 2 \t \t / / 376
0136760 001 \0 022 332 M H f o r m a t v
0137000 e r s i o n \r m s V e r s i o n
0137020 = 1 \t \t / / M S f o r m
0137040 a t v e r s i o n \r m s S t a
0137060 t s V e r s i o n = 2 \t / /
0137100 M S . s t a t s f o r m a t
0137120 v e r s i o n \r \r d e l i v e
0137140 r y T i m e o u t = 4 8 \t /
0137160 / h o u r s a f t e r w h
0137200 i c h a m s g i s d e e
0137220 m e d u n d e l i v e r a b l
0137240 e \r j o b I n t e r v a l =
0137260 5 * 6 0 \t / / s e c o n d s
0137300 b e t w e e n b a c k g r o u
0137320 n d M a i l J o b a c t i v
0137340 a t i o n s \r m i n S o r t I n
0137360 t e r v 376 001 \0 266 0 a l = 5 *
0137400 6 0 \t / / a t t e m p t t o
0137420 s o r t f i l e n o m o
0137440 r e o f t e n t h a n t h
0137460 i s \r m i n F o r w a r d I n t
0137500 e r v a l = 1 0 * 6 0 / /
0137520 a t t e m p t t o f o r w
0137540 a r d f i l e n o m o r e
0137560 o f t e n t h a n t h i s
0137600 \r e v e n t I n t e r v a l =
0137620 5 \t / / s e c o n d s b e
0137640 t w e e n M a i l E v e n t
0137660 s \r o p e n T i m e o u t =
0137700 5 \t \t / / s e c o n d s t o
0137720 o p e n a f i l e , r e
0137740 t r y i n g o n c e a s e
0137760 c o n d \r \r m a x 376 001 \0 R X M a
0140000 i l P a r a m C h a r s = 3
0140020 9 \t / / m a x s t r i n g
0140040 l e n g t h i n M S s t r
0140060 u c t u r e \r l e n M a i l P a
0140100 r a m S t r i n g = ( m a x
0140120 M a i l P a r a m C h a r s + 2
0140140 ) r s h i f t 1 \r \r f P r o
0140160 p T y p e M s g I D = 3 0 0
0140200 b \t / / F P R O P t y p e
0140220 p r i v a t e t o I F S m
0140240 a i l s e r v e r \r \r / / M
0140260 a i l B o x E x c e p t i o n
0140300 c o d e s \r e c U n s p e c i
0140320 f i e d = 7 0 0 \t / / 0
0140340 U n s p e c i f i e d f a i l
0140360 u r e \r e c C a n t L o c a 376 001
0140400 \0 320 356 t e = 7 0 1 \t / / 1
0140420 C a n ' t l o c a t e m a
0140440 i l b o x \r e c N o t R e s i d
0140460 e n t = 7 0 2 \t / / 2 M
0140500 a i l b o x i s n ' t l o c
0140520 a l & f o r w a r d i n g
0140540 d i s a b l e d \r e c N a m e T
0140560 o A d d r e s s = 7 0 4 \t /
0140600 / 4 U n a b l e t o c o
0140620 n v e r t r e g i s t r y n
0140640 a m e t o a d d r e s s \r e
0140660 c D e l i v e r y T i m e o u t
0140700 = 7 0 5 \t / / U n d e l i
0140720 v e r a b l e a f t e r 4 8
0140740 h o u r s \r e c I l l e g a l
0140760 R e g i s t r y = 7 0 6 \t /
0141000 / 4 376 001 \0 026 < R e g i s t r
0141020 y d o e s n o t r e s o l
0141040 v e t o M T P s o c k e t
0141060 \r e c N o R e g i s t r y =
0141100 7 0 7 \t / / 4 N a m e d o
0141120 e s n o t c o n t a i n a
0141140 r e g i s t r y \r e c F w d L
0141160 o o p = 7 0 8 \t \t / / 4
0141200 M e s s a g e f o r w a r d i
0141220 n g i n a l o o p \r \r / /
0141240 M a i l T r a n s f e r P
0141260 r o t o c o l N o c o d e s
0141300 \r e c M l b x R e q u i r e d
0141320 = 7 1 0 \t / / 4 0 M L B X
0141340 p r o p e r t y r e q u i r
0141360 e d . \r e c M l b x N o t U n a
0141400 m O r C n a m 376 001 \0 M 230 = 7
0141420 1 1 / / 4 1 M a i l b o x
0141440 m u s t b e U s e r - N a
0141460 m e o r C o n n e c t - N a
0141500 m e . \r e c N o M a i l b o x
0141520