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