• Aucun résultat trouvé

BSD IPC Reference Manual

N/A
N/A
Protected

Academic year: 2022

Partager "BSD IPC Reference Manual"

Copied!
246
0
0

Texte intégral

(1)

!

- .% ! /01 %.%%

2 !

%3 "&4"54

0 # :35:4:44>4 +"% % 3::;

!4<:; , !

(2)

?

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

(3)

@E<

%%0 %1

) - A %

! F ) # ) 0 # , C) 0 # , G0H D

, ! % 3::3 / ;?<E;?<4

" ! 1 3::? / >4E>444 ) ! # 3::@ / >3E>344 , ! % 3::; / >?E>?44

(4)
(5)

;

!"# $ !

%& #" ' $

!%

! ' % &' # " (%& #")$

! ' ' *

$

%

! + , !-

$ . /0 , 12 $ *, '

3 ,

, ' 0450, ' , ' 05006,

! "! , ' 05006$

0%6%

7 ,

1 , %& #"$

7

%& #"$

7 ' %& #" , , $

7 %& #" , ' $

7 %& #"

' /, ' $

(6)

>

7

', ' $

!7 ' #8 /$

" #"$ $7 + ", , .8! %& #"$

" % & '7 ' ' %& #" ", , .8!$

" # (7 %& #"$

" ) ) !$7 %& #"

$

+%!

! ' $

**+,*+++ -) ( ) .,-/+++ -/+++

& ' % &' # " (%& #") /$ %& #" / / %& #" 9$6$

**+,*+++ .,-/+++ /$$ -) (

& ' ' $ ! (.!), (#"),

(*)$ ! !-:-! .!$ % , $

# ' ' * ' $

**+,*+++ .,-/+++ /+++, 0 $% -) (

& ' ' &#; ' ' $

! . (.), &-2-", -*!, *8!-,

(!8), ', #8 , ' &#; , $

**+,*+++ .,-/+++ 1 2 (

& ' < , , 3 $ ! *$ % , * #$$

$ ! * '

!- $

(7)

5

**+,*++ .,-/+++ ( ) 3 (

& ' , ' <, $ ! *

= $ !

' ' ' $

**+,*+++ .,-/+++ 4 -) 1

: ' ' ' #$$ %

$!& ' $ ! <

+ $

! () '' +

'

! "! $ . , () + $

! ' + ' $

**+,*++ .,-/+++ # ( -5 (

: +, ' , ' '

$ ! ' ' ' $ %

' 3 ##!

, ' ' *$

**+,*++ ' -) 1 ) .,-/+++ -/+++

& ' , , , ' , $

*6,6 . ( '$ -) (

& ' ' &' (&) () $

*6,6 . ,5$ .'! -) (

.! $ # ' .! , 6;, 62:, 0, &-" ;2> , " (" .! /8 )$ # + .! , ' ' ,

$

>&-" ;2 1$$ & -< "$

(8)

=

+%!

! ' $

**+,*+++ -) ( ) .,-/+++ -/+++

& ' % &' # " (%& #") /$ %& #" / / %& #" 9$6$

*6+,*+++ -/+++ . (7 (

< , , 3, / $ ! * = # , ' 0450?, ' /$

*6+,*+++ -/+++ 7 (

& ' ' $ ! !-:-!

.!$ % , $ ! $

**+,*++ ' -) 1 ) .,-/+++ -/+++

& ' , , , ' , $

(9)

:

.% '! % /%

.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

(10)

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 $

(11)

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

(12)

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

(13)

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

(14)

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

(15)

3;

7

!'/ %& #" " / $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ ?

!'/6 % %& #" " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6

!'/6? 1 & $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 6?

!'/66 & ! ", , .8! $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 65

!'/69 %& #" . $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 64

!'/9 % %& #" " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ 9

!'/E % 1$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ EH

!'/H % & 1 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ H

!'/% . " $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ %

!'/& # "$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &6

!'/&? ' -+ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ &9

(16)
(17)

!%(((((

!%

! ' / 9$6 % &'

# " (%& #")$ %& #"

, ' 1 " % (1"%)$

%& #" ' ' ( ) ' ' $ ! ' , < , sockets ' $

! ' + %& #" ' % 1#2> $ 1 %& #", ' $ . +, '

D '

D

D '

%& #" ' "& $

%<! %.%%

%& #" , % A %& #", !-:-!, .!$

%& #" ' 9$6 %& #"$ !-:-! .!

', $ !-:-! .!

#$$ # ,

>1#2N 1 , + 28 " :$

(18)
(19)

(((((((8

! / %& #"$

:

%& #" )$

$ "

' !- , + $ ! $

$ ' $

! socket() $ ! ) !, '< %& #" $ $

- ) O , , , $

socket

socket structure

so_type so_options

. . .

Process

,%0(8= -%/ : !

(20)

88(((((((

)1

! # ' %& #"$ ! !", , 1&, $

! ! " (!") $ !" ', < , , ' ' $

@ , $ ! ' ' < ' $ # , '

$ ' ' , ' ( , )$

'

! 1 & (1&) $ 1& ' $ , < , $ * ' $ 1&

' $

:

& ' / %& #" %& #" stream mode$ # , 'O $ ! ' '

< ' $ # , ' $ ' ' , ' ($$, )$

D + ' ' $ . ' , send() recv() 9, P%& #" "$Q ! :B ! " (!")$

(21)

(((((((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 ( ) <

( ') $

! , ' , , /, <$

! < $

(22)

84(((((((

8 < , ' ' $ ! <$

' ' , + ()

' , $ ! ' +$ - , $

! + ' " * ' $

(23)

(((((((8&

7%/%0 %

! ' ' %& #" $

$ ! socket() $

?$ ! ' bind() $ 6$ ! listen() ' < $

9$ ! accept() < $ E$ ! socket() $

H$ ! < connect() $ 5$ ! < <$

4$ ! ' < $ ! accept() $

0$ ! ' $ " ' ' ', ' < $

$ ! <$

! ' $ ! ' ' $

(24)

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= %. % %

(25)

(((((((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= %. % % >

(26)

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%/!

(27)

(((((((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$= - -

(28)

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 %

(29)

'%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

(30)

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 '

(31)

'%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!

$

(32)

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;

(33)

'%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

(34)

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 : $

(35)

'%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()$ ( $)

! ' '$

(36)

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 $

(37)

'%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$

(38)

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

(39)

'%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 < $

(40)

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 ' $

(41)

'%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

(42)

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$

(43)

'%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 $

(44)

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;

(45)

'%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."!))!

(46)

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 ( )$

(47)

'%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)$

(48)

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*- $

(49)

'%0(((((((98

! XQ + 01 # , ' 0?550?$

'F ! 'F

/0 ' ' ' $ # 12 $ , $

! %& #" , /0 %&

#" $ %& #" %& #"

$ D ' /etc/netlinkrc

$ /0 : ' $

! " %& #" , %& #" *&8>

$

! + *@, %& #" @ ' + ' $

>*&8 1$$ * "$

(50)
(51)

(((((((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! $

(52)

48(((((((

7"1''M" ,

" '

socket()

bind()

listen()

accept()

send() recv() sendmsg() recvmsg()

shutdown()

connect()

* DCA

*

socket()

send() recv() sendmsg() recvmsg()

shutdown()

,%0(4= G1 ,-/

(53)

?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

(54)

?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

$

(55)

?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

(56)

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() '

(57)

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

Références

Documents relatifs

The EXPIRE capability, with a parameter other than 0 or NEVER, is intended to let the client know that the server does permit mail to be left on the server, and to

The purpose of the Proxy-PAR Hello protocol is to establish and maintain a Proxy-PAR adjacency between the client and server that supports the exchange of registration and

Informally, this rule means that a callout server that wants to get out of the loop fast should send a DWSS message immediately followed by a DWSR message; the server does

In that case, the iSCSI boot client queries the SLP Discovery Service using query string 1 of the iSCSI Target Concrete Service Type Template, as specified in Section 6.2

DHCP servers that implement this Relay Agent Information suboption MUST use this value, if present in a DHCP message received from a client, as the value to insert into the

Application Server (AS), that includes the conference/media policy server, the notification server, and the focus, all defined in RFC 4353 [CARCH], to interact with one or

During the second phase of negotiation, client and TTLS server use the secure TLS record layer channel established by the TLS handshake as a tunnel to exchange

If the peer does not know the domain name (did not receive the domain name via the lower-layer announcement, due to a missed announcement or lack of support for domain