!
- .% ! /01 %.%%
2 !
%3 "&4"54
0 # :35:4:44>4 +"% % 3::;
!4<:; , !
?
1,%/?;???5543@
# ) %
-A *
* ,)#!"",$/%%/)'+2%/+/$"!-A
#'2+1#67+)#$)20)!1)$)-!02!1%//%#)!"$,0!/'-%#)%72)%#1 -!2!))%'8%/10%8!"#$%//%#)$,%#8#1)-/!6%/1)$)-!0% )!/%2
) B
- A' /!")/')!1/6-)"2!6!#1
+ 6 B CDC3DCD/)1' "
' E 3::33::@ 3::; -A '
-A
@E<
%%0 %1
) - A %
! F ) # ) 0 # , C) 0 # , G0H D
, ! % 3::3 / ;?<E;?<4
" ! 1 3::? / >4E>444 ) ! # 3::@ / >3E>344 , ! % 3::; / >?E>?44
;
!"# $ !
%& #" ' $
!%
! ' % &' # " (%& #")$
! ' ' *
$
%
! + , !-
$ . /0 , 12 $ *, '
3 ,
, ' 0450, ' , ' 05006,
! "! , ' 05006$
0%6%
7 ,
1 , %& #"$
7
%& #"$
7 ' %& #" , , $
7 %& #" , ' $
7 %& #"
' /, ' $
>
7
', ' $
!7 ' #8 /$
" #"$ $7 + ", , .8! %& #"$
" % & '7 ' ' %& #" ", , .8!$
" # (7 %& #"$
" ) ) !$7 %& #"
$
+%!
! ' $
**+,*+++ -) ( ) .,-/+++ -/+++
& ' % &' # " (%& #") /$ %& #" / / %& #" 9$6$
**+,*+++ .,-/+++ /$$ -) (
& ' ' $ ! (.!), (#"),
(*)$ ! !-:-! .!$ % , $
# ' ' * ' $
**+,*+++ .,-/+++ /+++, 0 $% -) (
& ' ' &#; ' ' $
! . (.), &-2-", -*!, *8!-,
(!8), ', #8 , ' &#; , $
**+,*+++ .,-/+++ 1 2 (
& ' < , , 3 $ ! *$ % , * #$$
$ ! * '
!- $
5
**+,*++ .,-/+++ ( ) 3 (
& ' , ' <, $ ! *
= $ !
' ' ' $
**+,*+++ .,-/+++ 4 -) 1
: ' ' ' #$$ %
$!& ' $ ! <
+ $
! () '' +
'
! "! $ . , () + $
! ' + ' $
**+,*++ .,-/+++ # ( -5 (
: +, ' , ' '
$ ! ' ' ' $ %
' 3 ##!
, ' ' *$
**+,*++ ' -) 1 ) .,-/+++ -/+++
& ' , , , ' , $
*6,6 . ( '$ -) (
& ' ' &' (&) () $
*6,6 . ,5$ .'! -) (
.! $ # ' .! , 6;, 62:, 0, &-" ;2> , " (" .! /8 )$ # + .! , ' ' ,
$
>&-" ;2 1$$ & -< "$
=
+%!
! ' $
**+,*+++ -) ( ) .,-/+++ -/+++
& ' % &' # " (%& #") /$ %& #" / / %& #" 9$6$
*6+,*+++ -/+++ . (7 (
< , , 3, / $ ! * = # , ' 0450?, ' /$
*6+,*+++ -/+++ 7 (
& ' ' $ ! !-:-!
.!$ % , $ ! $
**+,*++ ' -) 1 ) .,-/+++ -/+++
& ' , , , ' , $
:
.% '! % /%
.3!! 3. #- ! 3.
nonitalics @ + ' +
$ ' , ' , ' + $ . +A
EXIT;
italics @ +
' ' '$ . +A CLOSE filename
[ ] ' + $
' $ . +A
A
B 1 $* % $
{ } @ ' + ,
$ . +A
A B C
1 $ % "$
... 3 +
' $ . +A [,itemname]...;
# , 3 ' + + ' $
, +
$ ' ()
(') + $ . +A
itema[,itemb][,itemc]
A itema
itema,itemb
itema,itemb,itemc itema,,itemc
34
D @ , ' D ' +
< ' + ' '$ . +A
SET[(modifier)]D(variable);
@ +, ' $
. +A
NEW NAME? ALPHA
% , ' + ' ' $ . +A
LET var[[subscript]] = value
8 $
$ . +A
CREATE (parm1,parm2,flags,error)
! ' ' B '$ . +, RETURN $ CONTROL char " ' CONTROL ' $
. +, CONTROL CY D $
33
7
/ !%
*; " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?
/ 8
?
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
! : $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ??
!" $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ??
1& $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ??
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ??
% $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?6
! " * $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?6 -' " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?E & 8 " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?0
! " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?
/ 9 '%0
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6?
& ;' ( F) $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 66
" +$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 69 + $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 69 .8! + $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6E G ' & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6E # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6H G B # $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 65 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 65 1 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 64
" $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 64
% $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 64 1 : I ( 8) $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 60 " ( 8)$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 60 " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6 1 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6
" $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6
% (& 8) $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6
< " ( 8) $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6 & J $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6?
& J $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6?
& J $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 66 ; & J $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 66 & J & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 69 & J & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 69 & J & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 69
" " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6E
@ .8!$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6H
3?
%8() . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6H 8() . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6H -+A $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6H
& ! ", , .8! $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 65
%& #" . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 64 :' : %& #" $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 64 - - $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 60 . " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 60 . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 60 . .8! $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 60 %& #" $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6?
/ %& #" $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6?
12 1#2 %& #" $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6?
" %& #" $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6?
/ 4
() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 96 '() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9H () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 94 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 96 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9H () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 94 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9?
() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9?6 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9?6 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9?5 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 96 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 96 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 969 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 969 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 964 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 99 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 996 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 99E
/ &
( '%%%
" $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E & *$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E4 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E0 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E '() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E?
'()$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E9 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ EH () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E4 '() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E0 '() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E?
() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E?6 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E?E '() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E?H
3@
''()$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E?4 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E6 '() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E6?
'() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E69 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E6H () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E64 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E60 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E9 F() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E9 F() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E9?
F() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E96 F() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E99 F() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E9E F() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E9H () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E95 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E94 () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E90 ()$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ EE ()$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ EE () $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ EE?
/ $ ( : % '%%%
.&F":() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ H?
.&F#-!() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ H6 .&F-!() $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ H9 .&FK-8()$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ HE
/ # !.! %
G 8$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 5
% #8 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 5?
!%;
; 0
-+ " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ -+ " "$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E -+ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 0 -+ " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ E -+ .8! $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ??
-+ " .8! $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?5 -+ : . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 66 -+ " : .$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 69
!%;
7 ! ! ,%
&' . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %?
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %?
. $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %9 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %9
3<
.$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %H $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %H . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %4 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %4
%& #" . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % . " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % L$M # . "$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ % L $M # . " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %6 L$M # . "$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %9 L'$M # . " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %5 L $M # . " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %4 L$M # . " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %??
. $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %?9 . .8! $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %6E
!%;
0
!%;
%%%
. ! $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &
# & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &
# $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &?
# , ' $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &6
# , $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &H ' $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &5 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &4 ! $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &4
)% %
./? " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ? ./?? % $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?6 ./?6 " " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?H ./?9 " ! " < $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?5 ./?E " @ " -' $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?4 ./?H & ! % ! %& #" $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?0 ./?5 ! %& #" " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ? ./6 & ' (" -+) $ $ $ $ $ $ $ $ 6E
./6? ' '()
(" -+)$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6H ./9 %& #" "7 . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9?
./9? ; & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9?9 ./96 ; & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 96E ./% ! .$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %6 ./%? ! . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %E ./%6 ! . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %5 ./%9 ! . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %0 ./& ' -+ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &H
3;
7
!'/ %& #" " / $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?
!'/6 % %& #" " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6
!'/6? 1 & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6?
!'/66 & ! ", , .8! $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 65
!'/69 %& #" . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 64
!'/9 % %& #" " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9
!'/E % 1$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ EH
!'/H % & 1 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ H
!'/% . " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %
!'/& # "$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &6
!'/&? ' -+ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &9
!%(((((
!%
! ' / 9$6 % &'
# " (%& #")$ %& #"
, ' 1 " % (1"%)$
%& #" ' ' ( ) ' ' $ ! ' , < , sockets ' $
! ' + %& #" ' % 1#2> $ 1 %& #", ' $ . +, '
D '
D
D '
%& #" ' "& $%<! %.%%
%& #" , % A %& #", !-:-!, .!$
%& #" ' 9$6 %& #"$ !-:-! .!
', $ !-:-! .!
#$$ # ,
>1#2N 1 , + 28 " :$
(((((((8
! / %& #"$
:
%& #" )$
$ "
' !- , + $ ! $
$ ' $
! socket() $ ! ) !, '< %& #" $ $
- ) O , , , $
socket
socket structure
so_type so_options
. . .
Process
,%0(8= -%/ : !
88(((((((
)1
! # ' %& #"$ ! !", , 1&, $
! ! " (!") $ !" ', < , , ' ' $
@ , $ ! ' ' < ' $ # , '
$ ' ' , ' ( , )$
'
! 1 & (1&) $ 1& ' $ , < , $ * ' $ 1&
' $
:
& ' / %& #" %& #" stream mode$ # , 'O $ ! ' '
< ' $ # , ' $ ' ' , ' ($$, )$
D + ' ' $ . ' , send() recv() 9, P%& #" "$Q ! :B ! " (!")$
(((((((89
!! %!%0
% ' , ' ' $ ! bind() ' B < $ ! ' A
D ) $* *!O $$, # (AF_INET) $
! ' $ /
%& #" # (AF_INET) H '$
D $& $
- ', /etc/services
$ ! ' ' $ D -. $
! # $
. ' , P Q 6$ ! /etc/services + %$
socket
socket structure
Process
bound
AF_INET Port Number
IP Address
,%0(88= : -%/ ! !!
/ %. !
! %& #" O ( ) <
( ') $
! , ' , , /, <$
! < $
84(((((((
8 < , ' ' $ ! <$
' ' , + ()
' , $ ! ' +$ - , $
! + ' " * ' $
(((((((8&
7%/%0 %
! ' ' %& #" $
$ ! socket() $
?$ ! ' bind() $ 6$ ! listen() ' < $
9$ ! accept() < $ E$ ! socket() $
H$ ! < connect() $ 5$ ! < <$
4$ ! ' < $ ! accept() $
0$ ! ' $ " ' ' ', ' < $
$ ! <$
! ' $ ! ' ' $
8$(((((((
1. Server creates a socket.
2. Server binds an address to its socket.
3. Server sets up the listen queue.
4. Server waits for connection requests.
5. Client creates a socket.
socket A
socket structure
Client
Socket A
socket B
socket structure
Server
Socket B bound
listen queue
,%0(89= %. % %
(((((((8#
7. Server receives the
connection request in the listen queue.
6. Client makes a connection request
socket A
socket structure
Client
Socket A
socket B
socket structure
Server
Socket B bound &
listen queue
listening bound
,%0(84= %. % % >
85(((((((
socket A
socket structure
Client
Socket A
socket B
socket structure
Server
Socket C bound &
listen queue
listening bound
8. Server accepts the connection request.
9. Server establishes a connection to the client with a new server socket that has all the
characteristics of the original socket.
10. Original server socket continues to listen for more connection requests.
socket structure
socket C bound
,%0(8&= %. 2/ % % 7%/!
(((((((8"
!%0 ! %.%0 . %
8 ' ' , ' < $ ! send() , recv() $
& , ' $
. , % ' $
socket
socket structure
Process A
socket structure
Process B
bound
* Sends data with send (). * Receives data with recv().
socket bound
data transfer
,%0(8$= - -
8(((((((
%%0 / %
- $
! shutdown() $ ! ' $ ! , '
$
! ' 3 'A
$ @ send() , P# Q $ ! ' $
?$ ! P# Q recv() $ # ($$, )$
6$ ! P# Q shutdown() $
9$ ! P# Q $
E$ ! ' shutdown() $
@ , $
! $ % ' $
socket
socket structure
Process A
socket structure
Process B
bound
socket bound
1. Sends “I am finished”.
4. Receives “I am finished”
notification.
5. Issues shutdown().
Socket A
Socket B connection
shutdown
2. Receives “I am finished”.
Finishes up.
3. Sends “I am finished”.
Issues shutdown().
––––>
––––>
,%0(8#= %%0 %
'%0(((((((9
'%0
! ' %& #" /$ ! $
D "
D -' "
D -' " "
D &
D ! "
D @ .8!
D & ! ", , .8!
D %& #" .
D :' : %& #"
D Errno errno D %& #"
!'/6 , , %& #"
, !'/6? $ 7(9= %!%0 %
. %
3 socket() A 3 socket() A
? bind() C" D ? bind() C" D
@ listen() *
< accept() I
; connect() *
> send() recv()
sendmsg()
recvmsg()
> send() recv()
sendmsg()
recvmsg()
5 shutdown() 5 shutdown()
#( bind() A 0 bind() A A A
98((((('%0((
1, $ # , ' , <, < $
! < $ 8 <, + ' ' ' +$ % , $
@ '
$ ' $ % $
7(98= '%0 0 :
. %
3 socket() A 3 socket() A
? bind() C" D ? bind() C" D
@ recvfrom()
< sendto()
; sendto()
recvfrom() ; sendto()
recvfrom()
> shutdown() A > shutdown() A
#( bind() A 0 bind() A A A
%0 : !!
% ' , ' $ . , , bind() ' $ . , () connect() , $
%& #" ' sockaddr_in $ A
D (AF_INET) D '
D #
A
D ' (sockaddr_in) '
D '
'%0(((((((99
D # ( )
D B # ( )
! $
%0 !! <%7 ?:!!@%A
' ' sockaddr_in , ' ' # $
. " , sockaddr_in <in.h>$ . .8!, sockaddr_in SOCKET.PASI SOCKET.FTNI, $
sockaddr_in ' %& #"A sockaddr_in
sin_family sin_port sin_addr sin_zero
sin_family $ # ' AF_INET, # $
! $ AF_INET sockaddr_in $ P . !Q G $
sin_port ' ' ' $
+ ' , PG ' &
,Q ' ' %& #" $
sin_addr # (#) $ ! #
$
@ , # $
8 , # () connect() $ PG B # Q $
Sin_addr in_addr$
sin_zero $ $
! sockaddr_in in_addr ", , .8!
$
94((((('%0((
1;
struct sockaddr_in {
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
struct in_addr { union {
struct { u_char s_b1,s_b2,s_b3,s_b4;} S_un_b;
struct { u_short s_w1,s_w2; } S_un_w;
u_long S_addr;
} S_un;
};
1;
sockaddr_in = RECORD CASE INTEGER OF
1 : ( int1 : int );
2 : ( sin_family : int;
sin_port : int;
sin_addr : in_addr;
sin_zero : PACKED ARRAY [1..8] of char );
END;
in_addr = PACKED RECORD CASE INTEGER OF
1 : ( int1 : int );
2 : (
s_b1 : CHAR;
s_b2 : CHAR;
s_b3 : CHAR;
s_b4 : CHAR;
3 : ( s_w1 : int;
s_w2 : int);
4 : ( S_addr : long);
END;
'%0(((((((9&
, 1;
INTEGER SOCKADDR_IN(8) INTEGER SIN_FAMILY,SIN_PORT INTEGER*4 SIN_ADDR
CHARACTER SIN_ZERO*(8)
EQUIVALENCE (SOCKADDR_IN(1),SIN_FAMILY) EQUIVALENCE (SOCKADDR_IN(2),SIN_PORT) EQUIVALENCE (SOCKADDR_IN(3),SIN_ADDR) EQUIVALENCE (SOCKADDR_IN(5),SIN_ZERO) INTEGER IN_ADDR(2)
INTEGER S_W1,S_W2 INTEGER*4 S_ADDR
EQUIVALENCE (IN_ADDR(1),S_W1,S_ADDR) EQUIVALENCE (IN_ADDR(2),S_W2)
! sockaddr_in ' bind() ' accept() $
! sockaddr_in ' connect() $ ! + ' bind() , ' connect() ' $ ! , getsockname() connect() $
. bind() connect() , 9, P%& #" "$Q . getsockname() , E, P%& #" 1$Q
+%0 / 7 / %! .%
! ' ' $ % ' ( ' sockaddr_in ' )$
! ' ' $ ( ./6 '$) ! ' ' /etc/services ' getservbyname() , ' $ ( ./6? '$)
#define SERVER_PORT 1000 /* server port address */
:
struct sockaddr_in myaddr; /* for local socket addr */
:
myaddr.sin_port = SERVER_PORT;
,%0(9= % %0 7 ? 0%0 ;A
9$((((('%0((
struct sockaddr_in myaddr; /* for local socket addr */
:
sp = getservbyname(“example”, tcp);
if (sp==NULL) {
fprintf(stderr, “%S:host not found”, argv[0]);
exit(1);
}
myaddr.sin_port = sp->s_port;
,%0(98= 7 %0 -%/ getservbyname() ? 0%0 ;A
! getservbyname() 3 '$
service = getservbyname (name, proto)
name $
proto ' $ 1 P Q !"
$
service 8 ' ' $
! ' servent , s_port '$
getservbyname() E, P%& #" 1Q
$
! /etc/services' ' $ # /etc/services, $ ! /etc/services + ' $ . /etc/services + %, P&' .$Q
%0%0 / !! / .
! # $ ! # sin_addr $
. , # 0 $ # # $ 0 : $
'%0(((((((9#
+%0 / B !!
! () $ ! connect() $
! , , $ # B # , gethostbyname(), # $ D # # $ Gethostbyname() ' # ' /etc/hosts$ . /etc/hosts, + %, P&' .$Q
Gethostbyname() 3 $ host = gethostbyname(name)
name B $
host 8 ' # B $
! ' hostent , h_addr_list # $
gethostbyname E, P%& #" 1,Q $
! gethostbyname() B # , () $ ! connect() <
$
/ .
! ' ' + $
# + ' $ "
' 9, P%& #" ",Q ' $ -+ ", , .8!
+ , P-+ $Q
# , ' + A
$ $ ( $)
?$ " socket()$ ( $)
6$ % bind()$ ( $)
9$ < listen()$ ( $) E$ @ < accept()$ ( $)
! ' '$
95((((('%0((
%0 ' : !!
D $ . A
$ & ' sockaddr_in$
?$ G ' ' $ 6$ # $
! ' ' , P $Q
%0 :
! socket() %& #" $ ! ' ' %& #" + $
! socket() ' $ socket = socket(af, type, protocol)
af # ' $ # '
AF_INET$
type ' $ # ' SOCK_STREAM SOCK_DGRAM$
protocol ' $ 0
' $ ! IPROTO_TCP SOCK_STREAM IPROTO_UDP SOCK_DGRAM $
socket # , socket
$ # , -1 socket, errno $
! ' socket() $ ! ' '< %& #" ' $
socket() 9, P%& #" ",Q $
%!%0 !! :
, bind() $ 1 ' , $
! bind() ' $ bind (socket, addr, addrlen)
socket $
'%0(((((((9"
addr ' ' $
addrlen $ # 3 '
sockaddr_in$
bind() 9, P%& #" ",Q ' ' $
%0 ' )% C ? : 1A
' , listen() <
<$ ! <
+ listen()$
! listen() ' $ listen (socket, backlog)
socket $
backlog + ' <
< $ . < = $
; A E$
listen() 9, P%& #" ",Q $
%0 % ? : 1A
! < < + listen()$
! accept() <$ Accept() ' < <$ Accept() $ !
D D ' D B $
! accept() ' $ newsocket = accept (socket, addr, addrlen)
socket listen() $
addr
$
addrlen addr$
9((((('%0((
newsocket ' accept()$ # , -1 newsocket, errno $
! < $ #
< $ D ' + ' accept()$ 8 ,
gethostbyaddr() $ D $
! accept() < $ P' #8Q 5, P
! $Q
/ %
! ' + $ # + ' $ " ' ' 9, P%& #" ",Q ' $
!
$ () $
?$ " socket() $
6$ % $ (& $)
9$ * < connect() , $ ( $)
! ' '$
%0 ' / : !!
D $ ! , A
$ & ' sockaddr_in$
?$ ' getservbyname()$ 6$ G B # gethostbyname()$
! ' ' , P $Q
'%0(((((((9
%0 :
, socket() %& #"
$ ! ' ' <
$
. , socket() ' $ P" Q $
! ' connect() ' '< $
%!%0 !! : ?0 : 1A
, bind() $ 1 ' , $
! bind() ' $ bind (socket, addr, addrlen)
socket $
addr ' ' $
addrlen $ # 3 '
sockaddr_in$
bind() 9, P%& #" ",Q ' ' $
>%0 % ? : 1A
! < connect() $ ! ' 7 ,
D
D ' D <
D accept() , <$
! connect() ' '$
connect (socket, addr, addrlen)
socket < $
98((((('%0((
addr
$
addrlen 3 addr$
Connect() ' , ' #8$ (. ' #8, 5, P ! $Q)
@ , connect() $
connect() , $ : # ' ' connect() + ' + $
! ' $ ! , getsockname()$
!%0 ! %.%0 D :
connect() accept() + , ' ' ' $
!%0 D :
! send() $ % $ ! send() ' $
count = send (socket, buffer, len, flags)
count ' ' $
socket ' $
buffer % ' $
len 3 buffer, '$
flags 8 $ ", /$
Send() ' ' ' , ' #8$ (. ' #8, 5, P ! $Q) send() 9, P%& #" ",Q ' $
'%0(((((((99
%.%0 D :
! recv() $ % $ ! recv() ' $
count = recv (socket, buffer, len, flags)
count ' ' $
socket ' $
buffer % $
len 3 ', '$
flags 8 $
MSG_PEEK ', ' $ Recv() ' ' ' , ' #8$ (. ' #8, 5, P ! $Q)
! len ' ' 'O len ' ', ' ' $
len ' $ # len ' , ' + recv() $
1 MSG_PEEK $ # recv() , ' ' $ ! + recv() $ $
recv() 9, P%& #" ",Q $
!%0 ! %.%0 <! D :
%& #" sendmsg() recvmsg() $ . ,
recvmsg() sendmsg() 9, P%& #" "$Q
94((((('%0((
!%0 ! %.%0 D 0 :
bind() + , ' ' $
!%0 D 0 :
! sendto() $ % $
! sendto() ' $
count = sendto (socket, buffer, len, flags, addr, addrlen)
count ' ' $
socket ' $
buffer % ' $
len 3 ', '$
flags 8 $ ", $
addr $
addrlen 3 addr$
sendto() 9, P%& #" ",Q '
$
%.%0 D 0 :
! recvfrom() $ %
$ ! recvfrom() ' $
count = recvfrom (socket, buffer, len, flags, addr, addrlen)
count ' ' $
socket ' $
buffer % $
len 3 ', '$
flags 8 $
MSG_PEEK ', ' $
addr $
addrlen 3 addr$
'%0(((((((9&
Recvfrom() ' #8 ' ,
' #8$ (. ' #8, 5, P ! Q$) len ' $ # len ', ' $
1 MSG_PEEK $ # recvfrom() , ' ' $ ! + recvfrom() $
recvfrom() 9, P%& #" ",Q
$
%0 / %
! ' , shutdown() $ ! shutdown() $ . , shutdown() ,
$
! shutdown() ' $ shutdown (socket, how)
socket ! ' $
how ! $
0 $
1 $
2 $
9$((((('%0((
2:%0 -%/ % % ! ,
%& #" " $ * %& #"
$ "<, .8!
A ByteAdrOf() AddressOf()$
1!?A ,%
! ByteAdrOf() ' ' ' '=
' " (char *variable)$
! ByteAdrOf() A ByteAdrOf(firstobjword, offset)
firstobjword (H') '= $
offset 8 ' '= $ * ' $
(! ' '= 3$)
!!?A ,%
! !- AddressOf() ' ' '=
' "$ ! AddressOf() A
AddressOf(firstobjword)
firstobjword (H') '= $
! ByteAdrOf() AddressOf() .8! ' ' "$;E
" A
getsockopt (socket, level, optname, optval, optlen) int socket, level, optname;
char *optval; int *optlen;
'%0(((((((9#
.8! A
getsockopt(socket, level, optname, ByteAdrOf(optval,offset) AddressOf(optlen))
1 % 3 3 ,
! + %& #" " +$ ! ' < .8!$ ! ( ) ", , .8!
+ %, P&' .$Q
7(99= 1 % 3 3 ! ,
,
J@?5>=@?5>5 #)!6!/
'-%/ '-%/%')!/
#)!6!/ #)!6!/K<
J@?5>=@?5>5 #)!6!/K?
. #)!6!/ #)!6!/K<
. 4>;;@; #)!6!/K?
. .) L /!'$/1 #)!6!/K< ,1."!))!
A. A. L /!'$/1 #)!6!/ "$'8%11/.#C=D . . L %'8!1 /!'$/1 #)!6!/ #.%11/C?D L /!'$/1 #)!6!/ 0"6-1/C>D L /!'$/1 #)!6!/ 0"6.$9!' L /!'$/1 #)!6!/ -$")!#)C;D L /!'$/1 #)!6!/ #!)!#)C;D L /!'$/1 #)!6!/ /$)$!#)C@D L /!'$/1 #)!6!/ "!/9!#)C<D L /!'$/1 #)!6!/K< )0!9%2C?D . .) L /!'$/1 #)!6!/K< ,1."!))!
95((((('%0((
! ,%
' $ %& #"
", , .8!$ # + %, P&' .$Q
!'/69 ' %& #" $ 7(94= ! ,%
,
<types.h>
<socket.h>
<in.h>
<netdb.h>
<fcntl.h>
SOCKET.PASI SOCKET.FTNI
)%7% )%:%0 0
/ #" ' "& $ 01
$$ , ' 0?5505, 01 2) # , ' 0?5506E, "& $ ,
!- + ' ( H) ' $
! ' %& #" A
D HPC.LIB$ ! /0?54 ; "R (;"R) " ' HPC.LIB$ & , /LIBRARIES/HPC.LIB$ ! " ' ' %& #" $ ' , P-8 -8 ,Q %& #" errno '$
D BIGNS_CDS.LIB$ ! /LIBRARIES/BIGNS_CDS.LIB ' ' '$ ! , INSTALL_NS1000.CMD
INSTALL_ARPA.CMD$
. , A
% ' %& #" ' !-*- ' ' ', ' BIGNS_CDS.LIB$ # BIGNS_CDS.LIB !-*- ' ' , %& #" ' (BSD_CDS.LIB) BIGNS_CDS.LIB$ P% :'Q ' , ' 05006, +$
# BIGNS_CDS.LIB !-*- ' ' , BSD_CDS.LIB + %& #"$
! BIGNS_CDS.LIB ( )$
'%0(((((((9"
!
Errno ' 1#2 $ . ', " ' (HPC.LIB) ' ' errno$ #
errno ', / A
, 0
$ include $
#include <errno.h>
?$ " ' ( " ' HPC.LIB) $
, 0
$ # IMPORT $ SEARCH ’errnodec.rel’ $ERRNODEC
! ' errnodec.rel /NS1000/REL
$ # $SEARCH $ (: $SEARCH $)
?$ # + errno, A
$ errnodec.rel $ '$ " ' ( " ' HPC.LIB)$
, , 0
$ # + errno, A
$ errnodec.rel $ Errnodec.rel ' /NS1000/REL $ '$ " ' ( " ' HPC.LIB)$
98((((('%0((
/!%0 0
%& #" $ ! %& #" $ !
$
(
! + ( ') / %& #"
/ $ / %& #" ' + ' ' !- H $
D $ $ -.$ $ ! RPMCreate
$ * " ' #$$ , ' 0500?$
D $$ $$ -0".$ $ ! POPEN $ !8 &#; "'
' % $!& ' ,
' 0500E$
D & 131 -131.$ $ 8 &-2-" , &-2-" 0, , ?, ?6, ?9, $ &-2-" &#;
"' ' % $!& ' $
D 10$ $ ! -*! QU (< ) $ -*! &#; "'
' % $!& ' $
D 01210 ' $$ : !-:-! !- XQ ( ) $ !-:-!
' #$$
# ,
D 01 412"1 $ ! @-:"8*- !-
' $ 01 *$
, ' 0?55069, ' ' !- ' @-:"8*- $
D ' &#; ' / / $ ! $
/ / ' ' $
D ! %& #" , /
%& #" !- XQ ( ) $
D ! %& #" + , !- XQ
@-:"8*- $
'%0(((((((98
! XQ + 01 # , ' 0?550?$
'F ! 'F
/0 ' ' ' $ # 12 $ , $
! %& #" , /0 %&
#" $ %& #" %& #"
$ D ' /etc/netlinkrc
$ /0 : ' $
! " %& #" , %& #" *&8>
$
! + *@, %& #" @ ' + ' $
>*&8 1$$ * "$
(((((((4
! %& #" $ ! ' $ !'/9 $ ./9 %& #" ' $
7(4= %!%0 %
%%
accept() % A
bind() 7 A
connect() A
fcntl() A
getsockopt() / A
listen() 2 A
recv() / A
recvfrom() / A
recvmsg() / A
select() A E$
send() " A
sendmsg() " A
sendto() " A
setsockopt() " A
shutdown() " A
socket() ' A
%
! + " +$!'/66 <
.8! $
48(((((((
7"1''M" ,
" '
socket()
bind()
listen()
accept()
send() recv() sendmsg() recvmsg()
shutdown()
connect()
* DCA
*
socket()
send() recv() sendmsg() recvmsg()
shutdown()
,%0(4= G1 ,-/
?A
(((((((49 $ !
$ ! accept() '
< $ ! $
1;
newsocket = accept(socket, addr, addrlen)
int newsocket, socket, *addrlen;
struct sockaddr_in *addr;
newsocket ' accept()$ # , < 0$ # ,
-1$
socket 8 , ' socket() $
addr $ ! '
sockaddr_in , ' P Q 6$
8 , B $
addrlen ' , ',
' addr ($$, sockaddr_in, H ')$
8 , addrlen , ', addr$
%%
Accept() ' < $ < connect() $ !
< B <$ !
< < + listen()$ Accept() + < , , $ !
D D ' ' D B
?A
44(((((((
Accept() ' < <, ' #8$
# ' #8 <, accept() -1 newsocket errno EAGAIN $ ! , socket, $ # ' < accept() ' select() $ select() $
' #8 O_NONBLOCK fcntl() $ fcntl() $ ' #8 5 P ! $Q
! < $ #
< $ D <
' + ' accept()$ 8 ($$, addr ), gethostbyaddr() $ D
$
# 3 B addrlen, addrlen ' B ' ' addr$
( %% %
%& #" " $ * %& #"
'$ "<, .8!
$
D ! ByteAdrOf() ' ' ' '=
' " ( , char *variable)$
D ! !- AddressOf() ' '=
' ($$, int *variable)$
1 AddressOf() ' addr addrlen $
P@ @ .8!Q 6
$
?A
(((((((4&
# accept() -1 newsocket, $ ! ' ' errno B $ ! ' '
accept() $
% %0
[EINTERR] ) * -
[EAGAIN] #A E$
[EINVAL] $ (
) addrlen &
) A socket() F 7A "A
) A
) A % listen() accept()
[EMFILE] ) A
[ENOTSOCK] ) A socket A
[EOPNOTSUPP] ) A socket A
[ENOBUFS] # ) accept() ) * AN connect() *
[EHOSTDOWN] ) A
7%!?A
4$(((((((
% $
1;
result = bind(socket, addr, addrlen)
int result, socket, addrlen;
struct sockaddr_in *addr;
result 0 bind() $ -1 $
socket $
addr ' ' socket$
! sockaddr_in , ' P Q 6$
addrlen : ( ') ($$, 3
sockaddr_in, H ')$ Addr ' H '$
%%
Bind() addr , socket$
' bind() $ ! ' sockaddr_in$ . , P Q 6$
! A
D ! $
D ! B '$
D ! B # $ (! # ' bind $)
! ' AF_INET$
# ' (sin_port) 0, < ' $ ' ?6
$
%
. , + ' bind() , ' connect() '7%!?A
(((((((4#
$ ! , getsock- name() connect() $
( %% %
%& #" " $ * %& #"
'$ "<, .8!
$
D ! ByteAdrOf() ' ' ' '=
' " ( , char *variable)$
D ! !- AddressOf() ' '=
' $ 1 AddressOf() ' addr $
P@ @ .8!Q 6
$
# bind() -1, $ ! ' ' errno B $ ! ' ' bind() $
% %0
[EINTERR] ) * -
[EINVAL] ) A A
addrlen A 7A A
[ENOTSOCK] ) A socket A
[EOPNOTSUPP] ) A
[EAFNOSUPPORT] /*
A
[EADDRINUSE] ) +
SO_REUSEADDR setsockopt() A
[EADDRNOTAVAIL] )
[EHOSTDOWN] ) A