BSD 4_4_Lite2 release
[unix-history] / usr / share / doc / psd / 05.sysman.ps
%!PS-Adobe-1.0
%%Creator: vangogh.CS.Berkeley.EDU:mckusick (Kirk &,1614 Oxford St. Berkeley CA 94709-1608,510-642-7780,510-843-9542)
%%Title: stdin (ditroff)
%%CreationDate: Thu Jun 22 17:47:03 1995
%%EndComments
% @(#)psdit.pro 1.6 11/6/90
% lib/psdit.pro -- prolog for psdit (ditroff) files
% Copyright (c) 1984, 1985 Adobe Systems Incorporated. All Rights Reserved.
% last edit: shore Sat Nov 23 20:28:03 1985
% RCSID: $Header: psdit.pro,v 2.1 85/11/24 12:19:43 shore Rel $
% Changed by Edward Wang (edward@ucbarpa.berkeley.edu) to handle graphics,
% 17 Feb, 87.
/$DITroff 140 dict def $DITroff begin
/fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def
/xi{0 72 11 mul translate 72 resolution div dup neg scale 0 0 moveto
/fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F}def
/PB{save /psv exch def currentpoint translate
resolution 72 div dup neg scale 0 0 moveto}def
/PE{psv restore}def
/arctoobig 90 def /arctoosmall .05 def
/m1 matrix def /m2 matrix def /m3 matrix def /oldmat matrix def
/tan{dup sin exch cos div}def
/point{resolution 72 div mul}def
/dround {transform round exch round exch itransform}def
/xT{/devname exch def}def
/xr{/mh exch def /my exch def /resolution exch def}def
/xp{}def
/xs{docsave restore end}def
/xt{}def
/xf{/fontname exch def /slotno exch def fontnames slotno get fontname eq not
{fonts slotno fontname findfont put fontnames slotno fontname put}if}def
/xH{/fontheight exch def F}def
/xS{/fontslant exch def F}def
/s{/fontsize exch def /fontheight fontsize def F}def
/f{/fontnum exch def F}def
/F{fontheight 0 le{/fontheight fontsize def}if
fonts fontnum get fontsize point 0 0 fontheight point neg 0 0 m1 astore
fontslant 0 ne{1 0 fontslant tan 1 0 0 m2 astore m3 concatmatrix}if
makefont setfont .04 fontsize point mul 0 dround pop setlinewidth}def
/X{exch currentpoint exch pop moveto show}def
/N{3 1 roll moveto show}def
/Y{exch currentpoint pop exch moveto show}def
/S{show}def
/ditpush{}def/ditpop{}def
/AX{3 -1 roll currentpoint exch pop moveto 0 exch ashow}def
/AN{4 2 roll moveto 0 exch ashow}def
/AY{3 -1 roll currentpoint pop exch moveto 0 exch ashow}def
/AS{0 exch ashow}def
/MX{currentpoint exch pop moveto}def
/MY{currentpoint pop exch moveto}def
/MXY{moveto}def
/cb{pop}def % action on unknown char -- nothing for now
/n{}def/w{}def
/p{pop showpage xi}def
/Dt{/Dlinewidth exch def}def 1 Dt
/Ds{/Ddash exch def}def -1 Ds
/i{/Dstipple exch def}def 1 i
/Dsetlinewidth{2 Dlinewidth mul setlinewidth}def
/Dsetdash{Ddash 4 eq{[8 12]}{Ddash 16 eq{[32 36]}
{Ddash 20 eq{[32 12 8 12]}{[]}ifelse}ifelse}ifelse 0 setdash}def
/Dstroke{gsave Dsetlinewidth Dsetdash 1 setlinecap stroke grestore
currentpoint newpath moveto}def
/Dl{rlineto Dstroke}def
/arcellipse{/diamv exch def /diamh exch def oldmat currentmatrix pop
currentpoint translate 1 diamv diamh div scale /rad diamh 2 div def
currentpoint exch rad add exch rad -180 180 arc oldmat setmatrix}def
/Dc{dup arcellipse Dstroke}def
/De{arcellipse Dstroke}def
/Da{/endv exch def /endh exch def /centerv exch def /centerh exch def
/cradius centerv centerv mul centerh centerh mul add sqrt def
/eradius endv endv mul endh endh mul add sqrt def
/endang endv endh atan def
/startang centerv neg centerh neg atan def
/sweep startang endang sub dup 0 lt{360 add}if def
sweep arctoobig gt
{/midang startang sweep 2 div sub def /midrad cradius eradius add 2 div def
/midh midang cos midrad mul def /midv midang sin midrad mul def
midh neg midv neg endh endv centerh centerv midh midv Da
Da}
{sweep arctoosmall ge
{/controldelt 1 sweep 2 div cos sub 3 sweep 2 div sin mul div 4 mul def
centerv neg controldelt mul centerh controldelt mul
endv neg controldelt mul centerh add endh add
endh controldelt mul centerv add endv add
centerh endh add centerv endv add rcurveto Dstroke}
{centerh endh add centerv endv add rlineto Dstroke}
ifelse}
ifelse}def
/Dpatterns[
[%cf[widthbits]
[8<0000000000000010>]
[8<0411040040114000>]
[8<0204081020408001>]
[8<0000103810000000>]
[8<6699996666999966>]
[8<0000800100001008>]
[8<81c36666c3810000>]
[8<0f0e0c0800000000>]
[8<0000000000000010>]
[8<0411040040114000>]
[8<0204081020408001>]
[8<0000001038100000>]
[8<6699996666999966>]
[8<0000800100001008>]
[8<81c36666c3810000>]
[8<0f0e0c0800000000>]
[8<0042660000246600>]
[8<0000990000990000>]
[8<0804020180402010>]
[8<2418814242811824>]
[8<6699996666999966>]
[8<8000000008000000>]
[8<00001c3e363e1c00>]
[8<0000000000000000>]
[32<00000040000000c00000004000000040000000e0000000000000000000000000>]
[32<00000000000060000000900000002000000040000000f0000000000000000000>]
[32<000000000000000000e0000000100000006000000010000000e0000000000000>]
[32<00000000000000002000000060000000a0000000f00000002000000000000000>]
[32<0000000e0000000000000000000000000000000f000000080000000e00000001>]
[32<0000090000000600000000000000000000000000000007000000080000000e00>]
[32<00010000000200000004000000040000000000000000000000000000000f0000>]
[32<0900000006000000090000000600000000000000000000000000000006000000>]]
[%ug
[8<0000020000000000>]
[8<0000020000002000>]
[8<0004020000002000>]
[8<0004020000402000>]
[8<0004060000402000>]
[8<0004060000406000>]
[8<0006060000406000>]
[8<0006060000606000>]
[8<00060e0000606000>]
[8<00060e000060e000>]
[8<00070e000060e000>]
[8<00070e000070e000>]
[8<00070e020070e000>]
[8<00070e020070e020>]
[8<04070e020070e020>]
[8<04070e024070e020>]
[8<04070e064070e020>]
[8<04070e064070e060>]
[8<06070e064070e060>]
[8<06070e066070e060>]
[8<06070f066070e060>]
[8<06070f066070f060>]
[8<060f0f066070f060>]
[8<060f0f0660f0f060>]
[8<060f0f0760f0f060>]
[8<060f0f0760f0f070>]
[8<0e0f0f0760f0f070>]
[8<0e0f0f07e0f0f070>]
[8<0e0f0f0fe0f0f070>]
[8<0e0f0f0fe0f0f0f0>]
[8<0f0f0f0fe0f0f0f0>]
[8<0f0f0f0ff0f0f0f0>]
[8<1f0f0f0ff0f0f0f0>]
[8<1f0f0f0ff1f0f0f0>]
[8<1f0f0f8ff1f0f0f0>]
[8<1f0f0f8ff1f0f0f8>]
[8<9f0f0f8ff1f0f0f8>]
[8<9f0f0f8ff9f0f0f8>]
[8<9f0f0f9ff9f0f0f8>]
[8<9f0f0f9ff9f0f0f9>]
[8<9f8f0f9ff9f0f0f9>]
[8<9f8f0f9ff9f8f0f9>]
[8<9f8f1f9ff9f8f0f9>]
[8<9f8f1f9ff9f8f1f9>]
[8<bf8f1f9ff9f8f1f9>]
[8<bf8f1f9ffbf8f1f9>]
[8<bf8f1fdffbf8f1f9>]
[8<bf8f1fdffbf8f1fd>]
[8<ff8f1fdffbf8f1fd>]
[8<ff8f1fdffff8f1fd>]
[8<ff8f1ffffff8f1fd>]
[8<ff8f1ffffff8f1ff>]
[8<ff9f1ffffff8f1ff>]
[8<ff9f1ffffff9f1ff>]
[8<ff9f9ffffff9f1ff>]
[8<ff9f9ffffff9f9ff>]
[8<ffbf9ffffff9f9ff>]
[8<ffbf9ffffffbf9ff>]
[8<ffbfdffffffbf9ff>]
[8<ffbfdffffffbfdff>]
[8<ffffdffffffbfdff>]
[8<ffffdffffffffdff>]
[8<fffffffffffffdff>]
[8<ffffffffffffffff>]]
[%mg
[8<8000000000000000>]
[8<0822080080228000>]
[8<0204081020408001>]
[8<40e0400000000000>]
[8<66999966>]
[8<8001000010080000>]
[8<81c36666c3810000>]
[8<f0e0c08000000000>]
[16<07c00f801f003e007c00f800f001e003c007800f001f003e007c00f801f003e0>]
[16<1f000f8007c003e001f000f8007c003e001f800fc007e003f001f8007c003e00>]
[8<c3c300000000c3c3>]
[16<0040008001000200040008001000200040008000000100020004000800100020>]
[16<0040002000100008000400020001800040002000100008000400020001000080>]
[16<1fc03fe07df0f8f8f07de03fc01f800fc01fe03ff07df8f87df03fe01fc00f80>]
[8<80>]
[8<8040201000000000>]
[8<84cc000048cc0000>]
[8<9900009900000000>]
[8<08040201804020100800020180002010>]
[8<2418814242811824>]
[8<66999966>]
[8<8000000008000000>]
[8<70f8d8f870000000>]
[8<0814224180402010>]
[8<aa00440a11a04400>]
[8<018245aa45820100>]
[8<221c224180808041>]
[8<88000000>]
[8<0855800080550800>]
[8<2844004482440044>]
[8<0810204080412214>]
[8<00>]]]def
/Dfill{
save 6 1 roll
transform /maxy exch def /maxx exch def
transform /miny exch def /minx exch def
minx maxx gt{/minx maxx /maxx minx def def}if
miny maxy gt{/miny maxy /maxy miny def def}if
Dpatterns Dstipple 1 sub get exch 1 sub get
aload pop /stip exch def /stipw exch def /stiph 128 def
/imatrix[stipw 0 0 stiph 0 0]def
/tmatrix[stipw 0 0 stiph 0 0]def
/minx minx cvi stiph idiv stiph mul def
/miny miny cvi stipw idiv stipw mul def
eoclip 0 setgray
miny stiph maxy{
tmatrix exch 5 exch put
minx stipw maxx{
tmatrix exch 4 exch put tmatrix setmatrix
stipw stiph true imatrix {stip} imagemask
}for
}for
restore
}def
/Dp{Dfill Dstroke}def
/DP{Dfill currentpoint newpath moveto}def
end
/ditstart{$DITroff begin
/nfonts 60 def % NFONTS makedev/ditroff dependent!
/fonts[nfonts{0}repeat]def
/fontnames[nfonts{()}repeat]def
/docsave save def
}def
% character outcalls
/oc{
/pswid exch def /cc exch def /name exch def
/ditwid pswid fontsize mul resolution mul 72000 div def
/ditsiz fontsize resolution mul 72 div def
ocprocs name known{ocprocs name get exec}{name cb}ifelse
}def
/fractm [.65 0 0 .6 0 0] def
/fraction{
/fden exch def /fnum exch def gsave /cf currentfont def
cf fractm makefont setfont 0 .3 dm 2 copy neg rmoveto
fnum show rmoveto currentfont cf setfont(\244)show setfont fden show
grestore ditwid 0 rmoveto
}def
/oce{grestore ditwid 0 rmoveto}def
/dm{ditsiz mul}def
/ocprocs 50 dict def ocprocs begin
(14){(1)(4)fraction}def
(12){(1)(2)fraction}def
(34){(3)(4)fraction}def
(13){(1)(3)fraction}def
(23){(2)(3)fraction}def
(18){(1)(8)fraction}def
(38){(3)(8)fraction}def
(58){(5)(8)fraction}def
(78){(7)(8)fraction}def
(sr){gsave 0 .06 dm rmoveto(\326)show oce}def
(is){gsave 0 .15 dm rmoveto(\362)show oce}def
(->){gsave 0 .02 dm rmoveto(\256)show oce}def
(<-){gsave 0 .02 dm rmoveto(\254)show oce}def
(==){gsave 0 .05 dm rmoveto(\272)show oce}def
(uc){gsave currentpoint 400 .009 dm mul add translate
8 -8 scale ucseal oce}def
end
% an attempt at a PostScript FONT to implement ditroff special chars
% this will enable us to
% cache the little buggers
% generate faster, more compact PS out of psdit
% confuse everyone (including myself)!
50 dict dup begin
/FontType 3 def
/FontName /DIThacks def
/FontMatrix [.001 0 0 .001 0 0] def
/FontBBox [-260 -260 900 900] def% a lie but ...
/Encoding 256 array def
0 1 255{Encoding exch /.notdef put}for
Encoding
dup 8#040/space put %space
dup 8#110/rc put %right ceil
dup 8#111/lt put %left top curl
dup 8#112/bv put %bold vert
dup 8#113/lk put %left mid curl
dup 8#114/lb put %left bot curl
dup 8#115/rt put %right top curl
dup 8#116/rk put %right mid curl
dup 8#117/rb put %right bot curl
dup 8#120/rf put %right floor
dup 8#121/lf put %left floor
dup 8#122/lc put %left ceil
dup 8#140/sq put %square
dup 8#141/bx put %box
dup 8#142/ci put %circle
dup 8#143/br put %box rule
dup 8#144/rn put %root extender
dup 8#145/vr put %vertical rule
dup 8#146/ob put %outline bullet
dup 8#147/bu put %bullet
dup 8#150/ru put %rule
dup 8#151/ul put %underline
pop
/DITfd 100 dict def
/BuildChar{0 begin
/cc exch def /fd exch def
/charname fd /Encoding get cc get def
/charwid fd /Metrics get charname get def
/charproc fd /CharProcs get charname get def
charwid 0 fd /FontBBox get aload pop setcachedevice
2 setlinejoin 40 setlinewidth
newpath 0 0 moveto gsave charproc grestore
end}def
/BuildChar load 0 DITfd put
/CharProcs 50 dict def
CharProcs begin
/space{}def
/.notdef{}def
/ru{500 0 rls}def
/rn{0 840 moveto 500 0 rls}def
/vr{0 800 moveto 0 -770 rls}def
/bv{0 800 moveto 0 -1000 rls}def
/br{0 840 moveto 0 -1000 rls}def
/ul{0 -140 moveto 500 0 rls}def
/ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def
/bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def
/sq{80 0 rmoveto currentpoint dround newpath moveto
640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def
/bx{80 0 rmoveto currentpoint dround newpath moveto
640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def
/ci{500 360 rmoveto currentpoint newpath 333 0 360 arc
50 setlinewidth stroke}def
/lt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def
/lb{0 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def
/rt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def
/rb{0 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def
/lk{0 800 moveto 0 300 -300 300 s4 arcto pop pop 1000 sub
0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
/rk{0 800 moveto 0 300 s2 300 s4 arcto pop pop 1000 sub
0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def
/lf{0 800 moveto 0 -1000 rlineto s4 0 rls}def
/rf{0 800 moveto 0 -1000 rlineto s4 neg 0 rls}def
/lc{0 -200 moveto 0 1000 rlineto s4 0 rls}def
/rc{0 -200 moveto 0 1000 rlineto s4 neg 0 rls}def
end
/Metrics 50 dict def Metrics begin
/.notdef 0 def
/space 500 def
/ru 500 def
/br 0 def
/lt 416 def
/lb 416 def
/rt 416 def
/rb 416 def
/lk 416 def
/rk 416 def
/rc 416 def
/lc 416 def
/rf 416 def
/lf 416 def
/bv 416 def
/ob 350 def
/bu 350 def
/ci 750 def
/bx 750 def
/sq 750 def
/rn 500 def
/ul 500 def
/vr 0 def
end
DITfd begin
/s2 500 def /s4 250 def /s3 333 def
/a4p{arcto pop pop pop pop}def
/2cx{2 copy exch}def
/rls{rlineto stroke}def
/currx{currentpoint pop}def
/dround{transform round exch round exch itransform} def
end
end
/DIThacks exch definefont pop
ditstart
(psc)xT
576 1 1 xr
1(Times-Roman)xf 1 f
2(Times-Italic)xf 2 f
3(Times-Bold)xf 3 f
4(Times-BoldItalic)xf 4 f
5(Helvetica)xf 5 f
6(Helvetica-Bold)xf 6 f
7(Courier)xf 7 f
8(Courier-Bold)xf 8 f
9(Symbol)xf 9 f
10(DIThacks)xf 10 f
10 s
1 f
xi
%%EndProlog
%%Page: 1 1
10 s 10 xH 0 xS 1 f 1 i
8 s
3 f
12 s
1480 984(Berkeley)N
1868(Software)X
2260(Architecture)X
2808(Manual)X
1987 1104(4.4BSD)N
2317(Edition)X
2 f
10 s
1741 1296(M.)N
1848(Kirk)X
2010(McKusick,)X
2371(Michael)X
2654(Karels)X
1859 1440(Samuel)N
2115(Lef\257er,)X
2364(William)X
2637(Joy)X
2087 1584(Robert)N
2325(Fabry)X
1 f
1731 1728(Computer)N
2071(Systems)X
2357(Research)X
2672(Group)X
1861 1824(Computer)N
2201(Science)X
2471(Division)X
1328 1920(Department)N
1727(of)X
1814(Electrical)X
2142(Engineering)X
2554(and)X
2690(Computer)X
3030(Science)X
1754 2016(University)N
2112(of)X
2199(California,)X
2564(Berkeley)X
1963 2112(Berkeley,)N
2293(CA)X
2444(94720)X
2 f
2115 2400(ABSTRACT)N
1 f
1064 2592(This)N
1226(document)X
1562(summarizes)X
1965(the)X
2083(system)X
2325(calls)X
2492(provided)X
2797(by)X
2897(the)X
3015(4.4BSD)X
3291(operating)X
3615(sys-)X
864 2688(tem.)N
1050(It)X
1125(does)X
1298(not)X
1426(attempt)X
1692(to)X
1780(act)X
1900(as)X
1993(a)X
2055(tutorial)X
2311(for)X
2430(use)X
2562(of)X
2654(the)X
2777(system,)X
3044(nor)X
3176(does)X
3348(it)X
3417(attempt)X
3682(to)X
864 2784(explain)N
1136(or)X
1239(justify)X
1479(the)X
1613(design)X
1858(of)X
1961(the)X
2095(system)X
2353(facilities.)X
2705(It)X
2790(gives)X
2995(neither)X
3254(motivation)X
3637(nor)X
864 2880(implementation)N
1386(details,)X
1635(in)X
1717(favor)X
1907(of)X
1994(brevity.)X
1064 3004(The)N
1210(\256rst)X
1355(section)X
1603(describes)X
1923(the)X
2042(basic)X
2228(kernel)X
2450(functions)X
2769(provided)X
3076(to)X
3160(a)X
3218(process:)X
3503(process)X
864 3100(naming)N
1143(and)X
1298(protection,)X
1682(memory)X
1987(management,)X
2455(software)X
2770(interrupts,)X
3135(time)X
3315(and)X
3469(statistics)X
864 3196(functions,)N
1204(object)X
1422 0.3889(references)AX
1777(\(descriptors\),)X
2226(and)X
2365(resource)X
2661(controls.)X
2982(These)X
3197(facilities,)X
3516(as)X
3606(well)X
864 3292(as)N
959(facilities)X
1263(for)X
1385(bootstrap,)X
1731(shutdown)X
2070(and)X
2214(process)X
2483(accounting,)X
2883(are)X
3009(provided)X
3321(solely)X
3539(by)X
3646(the)X
864 3388(kernel.)N
1064 3512(The)N
1212(second)X
1458(section)X
1708(describes)X
2030(the)X
2151(standard)X
2446(system)X
2691(abstractions)X
3098(for)X
3216(\256les)X
3373(and)X
3513(\256lesys-)X
864 3608(tems,)N
1075(communication,)X
1633(terminal)X
1940(handling,)X
2279(and)X
2434(process)X
2714(control)X
2980(and)X
3135(debugging.)X
3552(These)X
864 3704(facilities)N
1160(are)X
1279(implemented)X
1717(by)X
1817(the)X
1935(operating)X
2258(system)X
2500(or)X
2587(by)X
2687(network)X
2970(server)X
3187(processes.)X
4 p
%%Page: 4 2
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-4)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
3 f
576 672(Notation)N
894(and)X
1042(Types)X
1 f
776 796(The)N
925(notation)X
1211(used)X
1382(to)X
1468(describe)X
1760(system)X
2006(calls)X
2177(is)X
2254(a)X
2314(variant)X
2561(of)X
2652(a)X
2712(C)X
2789(language)X
3103(function)X
3394(call,)X
3555(consisting)X
3904(of)X
3996(a)X
576 892(prototype)N
913(call)X
1059(followed)X
1374(by)X
1484(the)X
1612(declaration)X
1998(of)X
2094(parameters)X
2476(and)X
2621(results.)X
2899(An)X
3026(additional)X
3375(keyword)X
3 f
3685(result)X
1 f
3881(,)X
3930(not)X
576 988(part)N
731(of)X
828(the)X
956(normal)X
1213(C)X
1296(language,)X
1636(is)X
1719(used)X
1896(to)X
1988(indicate)X
2272(which)X
2499(of)X
2597(the)X
2726(declared)X
3030(entities)X
3292(receive)X
3556(results.)X
3836(As)X
3956(an)X
576 1084(example,)N
888(consider)X
1180(the)X
2 f
1298(read)X
1 f
1465(call,)X
1621(as)X
1708(described)X
2036(in)X
2118(section)X
2365(2.1.1:)X
864 1228(cc)N
956(=)X
1021(read\(fd,)X
1294(buf,)X
1441(nbytes\);)X
864 1324(result)N
1062(ssize_t)X
1300(cc;)X
1414(int)X
1518(fd;)X
1627(result)X
1825(void)X
1987(*buf;)X
2176(size_t)X
2383(nbytes;)X
576 1468(The)N
727(\256rst)X
877(line)X
1023(shows)X
1249(how)X
1413(the)X
2 f
1537(read)X
1 f
1710(routine)X
1963(is)X
2042(called,)X
2281(with)X
2450(three)X
2638(parameters.)X
3058(As)X
3174(shown)X
3410(on)X
3517(the)X
3642(second)X
3892(line,)X
576 1564(the)N
694(return)X
906(value)X
2 f
1100(cc)X
1 f
1192(is)X
1265(a)X
1321(size_t)X
1528(and)X
2 f
1664(read)X
1 f
1831(also)X
1980(returns)X
2223(information)X
2621(in)X
2703(the)X
2821(parameter)X
2 f
3163(buf)X
1 f
3265(.)X
776 1688(The)N
922(descriptions)X
1330(of)X
1418(error)X
1597(conditions)X
1952(arising)X
2192(from)X
2370(each)X
2540(system)X
2784(call)X
2922(are)X
3043(not)X
3167(provided)X
3474(here;)X
3657(they)X
3817(appear)X
576 1784(in)N
667(section)X
923(2)X
992(of)X
1087(the)X
1213(Programmer's)X
1700(Reference)X
2055(Manual.)X
2368(In)X
2463(particular,)X
2819(when)X
3021(accessed)X
3331(from)X
3515(the)X
3641(C)X
3722(language,)X
576 1880(many)N
774(calls)X
941(return)X
1153(a)X
1209(characteristic)X
9 f
1658(-)X
1 f
1702(1)X
1762(value)X
1956(when)X
2150(an)X
2246(error)X
2423(occurs,)X
2673(returning)X
2987(the)X
3106(error)X
3284(code)X
3457(in)X
3540(the)X
3659(global)X
3880(vari-)X
576 1976(able)N
2 f
730(errno)X
1 f
908(.)X
968(Other)X
1171(languages)X
1512(may)X
1670(present)X
1922(errors)X
2130(in)X
2212(different)X
2509(ways.)X
776 2100(A)N
864(number)X
1139(of)X
1236(system)X
1488(standard)X
1790(types)X
1989(are)X
2118(de\256ned)X
2384(by)X
2494(the)X
2622(include)X
2888(\256le)X
2 f
3020(<sys/types.h>)X
1 f
3516(and)X
3663(used)X
3841(in)X
3934(the)X
576 2196(speci\256cations)N
1032(here)X
1191(and)X
1327(in)X
1409(many)X
1607(C)X
1680(programs.)X
7 f
576 2436(Type)N
1128(Value)X
10 f
576 2452(i)N
584(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
7 f
576 2548(caddr_t)N
1128(char)X
1368(*)X
2112(/*)X
2256(a)X
2352(memory)X
2688(address)X
3072(*/)X
576 2644(clock_t)N
1128(unsigned)X
1560(long)X
2112(/*)X
2256(count)X
2544(of)X
2688(CLK_TCK's)X
3168(*/)X
576 2740(gid_t)N
1128(unsigned)X
1560(long)X
2112(/*)X
2256(group)X
2544(ID)X
2688(*/)X
576 2836(int16_t)N
1128(short)X
2112(/*)X
2256(16-bit)X
2592(integer)X
2976(*/)X
576 2932(int32_t)N
1128(int)X
2112(/*)X
2256(32-bit)X
2592(integer)X
2976(*/)X
576 3028(int64_t)N
1128(long)X
1368(long)X
2112(/*)X
2256(64-bit)X
2592(integer)X
2976(*/)X
576 3124(int8_t)N
1128(signed)X
1464(char)X
2112(/*)X
2256(8-bit)X
2544(integer)X
2928(*/)X
576 3220(mode_t)N
1128(unsigned)X
1560(short)X
2112(/*)X
2256(file)X
2496(permissions)X
3072(*/)X
576 3316(off_t)N
1128(quad_t)X
2112(/*)X
2256(file)X
2496(offset)X
2832(*/)X
576 3412(pid_t)N
1128(long)X
2112(/*)X
2256(process)X
2640(ID)X
2784(*/)X
576 3508(qaddr_t)N
1128(quad_t)X
1464(*)X
576 3604(quad_t)N
1128(long)X
1368(long)X
576 3700(size_t)N
1128(unsigned)X
1560(int)X
2112(/*)X
2256(count)X
2544(of)X
2688(bytes)X
2976(*/)X
576 3796(ssize_t)N
1128(int)X
2112(/*)X
2256(signed)X
2592(size_t)X
2928(*/)X
576 3892(time_t)N
1128(long)X
2112(/*)X
2256(seconds)X
2640(since)X
2928(the)X
3120(Epoch)X
3408(*/)X
576 3988(u_char)N
1128(unsigned)X
1560(char)X
576 4084(u_int)N
1128(unsigned)X
1560(int)X
576 4180(u_int16_t)N
1128(unsigned)X
1560(short)X
2112(/*)X
2256(unsigned)X
2688(16-bit)X
3024(integer)X
3408(*/)X
576 4276(u_int32_t)N
1128(unsigned)X
1560(int)X
2112(/*)X
2256(unsigned)X
2688(32-bit)X
3024(integer)X
3408(*/)X
576 4372(u_int64_t)N
1128(unsigned)X
1560(long)X
1800(long)X
2112(/*)X
2256(unsigned)X
2688(64-bit)X
3024(integer)X
3408(*/)X
576 4468(u_int8_t)N
1128(unsigned)X
1560(char)X
2112(/*)X
2256(unsigned)X
2688(8-bit)X
2976(integer)X
3360(*/)X
576 4564(u_long)N
1128(unsigned)X
1560(long)X
576 4660(u_quad_t)N
1128(unsigned)X
1560(long)X
1800(long)X
576 4756(u_short)N
1128(unsigned)X
1560(short)X
576 4852(uid_t)N
1128(unsigned)X
1560(long)X
2112(/*)X
2256(user)X
2496(ID)X
2640(*/)X
576 4948(uint)N
1128(unsigned)X
1560(int)X
2112(/*)X
2256(System)X
2592(V)X
2688(compatibility)X
3360(*/)X
576 5044(ushort)N
1128(unsigned)X
1560(short)X
2112(/*)X
2256(System)X
2592(V)X
2688(compatibility)X
3360(*/)X
3 f
576 5284(1.)N
676(Kernel)X
932(primitives)X
1 f
776 5436(The)N
922(facilities)X
1220(available)X
1532(to)X
1616(a)X
1674(user)X
1830(process)X
2093(are)X
2214(logically)X
2516(divided)X
2778(into)X
2924(two)X
3066(parts:)X
3266(kernel)X
3489(facilities)X
3787(directly)X
576 5532(implemented)N
1016(by)X
1118(code)X
1292(running)X
1563(in)X
1647(the)X
1767(operating)X
2092(system,)X
2356(and)X
2494(system)X
2738(facilities)X
3036(implemented)X
3476(either)X
3681(by)X
3783(the)X
3903(sys-)X
576 5628(tem,)N
736(or)X
823(in)X
905(cooperation)X
1304(with)X
1466(a)X
2 f
1522(server)X
1743(process)X
1 f
1988(.)X
2048(The)X
2193(kernel)X
2414(facilities)X
2710(are)X
2829(described)X
3157(in)X
3239(section)X
3486(1.)X
5 p
%%Page: 5 3
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3757(PSD:5-5)X
776 672(The)N
922(facilities)X
1219(implemented)X
1659(in)X
1743(the)X
1863(kernel)X
2086(are)X
2207(those)X
2398(which)X
2616(de\256ne)X
2834(the)X
2 f
2954(4.4BSD)X
3223(virtual)X
3458(machine)X
1 f
3752(in)X
3836(which)X
576 768(each)N
749(process)X
1015(runs.)X
1218(Like)X
1390(many)X
1593(real)X
1739(machines,)X
2087(this)X
2227(virtual)X
2460(machine)X
2756(has)X
2887(memory)X
3178(management)X
3612(hardware,)X
3956(an)X
576 864(interrupt)N
873(facility,)X
1141(timers)X
1362(and)X
1499(counters.)X
1833(The)X
1980(4.4BSD)X
2257(virtual)X
2488(machine)X
2782(allows)X
3013(access)X
3241(to)X
3325(\256les)X
3480(and)X
3618(other)X
3805(objects)X
576 960(through)N
854(a)X
918(set)X
1035(of)X
2 f
1130(descriptors)X
1 f
(.)S
1558(Each)X
1747(descriptor)X
2096(resembles)X
2445(a)X
2509(device)X
2747(controller,)X
3107(and)X
3251(supports)X
3550(a)X
3614(set)X
3731(of)X
3826(opera-)X
576 1056(tions.)N
798(Like)X
972(devices)X
1240(on)X
1347(real)X
1495(machines,)X
1845(some)X
2041(of)X
2135(which)X
2358(are)X
2484(internal)X
2757(to)X
2847(the)X
2973(machine)X
3273(and)X
3417(some)X
3614(of)X
3709(which)X
3933(are)X
576 1152(external,)N
877(parts)X
1055(of)X
1144(the)X
1264(descriptor)X
1607(machinery)X
1968(are)X
2089(built-in)X
2346(to)X
2430(the)X
2550(operating)X
2875(system,)X
3139(while)X
3339(other)X
3526(parts)X
3703(are)X
3823(imple-)X
576 1248(mented)N
840(in)X
930(server)X
1155(processes)X
1491(on)X
1599(other)X
1793(machines.)X
2165(The)X
2319(facilities)X
2624(provided)X
2938(through)X
3216(the)X
3343(descriptor)X
3693(machinery)X
576 1344(are)N
695(described)X
1023(in)X
1105(section)X
1352(2.)X
3 f
576 1536(1.1.)N
736(Processes)X
1082(and)X
1230(protection)X
576 1756(1.1.1.)N
796(Host)X
976(identi\256ers)X
1 f
776 1908(Each)N
957(host)X
1110(has)X
1237(associated)X
1587(with)X
1749(it)X
1813(an)X
1909(integer)X
2152(host)X
2305(ID,)X
2430(and)X
2566(a)X
2623(host)X
2777(name)X
2972(of)X
3060(up)X
3161(to)X
3244(MAXHOSTNAMELEN)X
576 2004(\(256\))N
790(characters)X
1157(\(as)X
1291(de\256ned)X
1567(in)X
2 f
1669(<sys/param.h>)X
1 f
2166(\).)X
2273(These)X
2505(identi\256ers)X
2865(are)X
3003(set)X
3131(\(by)X
3277(a)X
3352(privileged)X
3716(user\))X
3916(and)X
576 2100(retrieved)N
888(using)X
1087(the)X
2 f
1211(sysctl)X
1 f
1415(interface)X
1723(described)X
2057(in)X
2145(section)X
2398(1.7.1.)X
2624(The)X
2775(host)X
2934(ID)X
3045(is)X
3124(seldom)X
3381(used)X
3554(\(or)X
3674(set\),)X
3836(and)X
3979(is)X
576 2196(deprecated.)N
985(For)X
1116(convenience)X
1538(and)X
1674(backward)X
2007(compatibility,)X
2473(the)X
2591(following)X
2922(library)X
3156(routines)X
3434(are)X
3553(provided:)X
864 2340(sethostid\(hostid\);)N
864 2436(long)N
1026(hostid;)X
864 2628(hostid)N
1079(=)X
1144(gethostid\(\);)X
864 2724(result)N
1062(long)X
1224(hostid;)X
864 2916(sethostname\(name,)N
1501(len\);)X
864 3012(char)N
1023(*name;)X
1279(int)X
1383(len;)X
864 3204(len)N
982(=)X
1047(gethostname\(buf,)X
1626(bu\257en\);)X
864 3300(result)N
1062(int)X
1166(len;)X
1306(result)X
1504(char)X
1663(*buf;)X
1852(int)X
1956(bu\257en;)X
3 f
576 3540(1.1.2.)N
796(Process)X
1075(identi\256ers)X
1 f
576 3664(Each)N
761(host)X
918(runs)X
1080(a)X
1140(set)X
1253(of)X
2 f
1344(processes)X
1 f
1656(.)X
1721(Each)X
1907(process)X
2173(is)X
2251(largely)X
2499(independent)X
2916(of)X
3008(other)X
3198(processes,)X
3551(having)X
3794(its)X
3894(own)X
576 3760(protection)N
931(domain,)X
1221(address)X
1492(space,)X
1721(timers,)X
1971(and)X
2117(an)X
2223(independent)X
2645(set)X
2764(of)X
2861 0.3889(references)AX
3222(to)X
3313(system)X
3564(or)X
3660(user)X
3823(imple-)X
576 3856(mented)N
832(objects.)X
776 3980(Each)N
965(process)X
1234(in)X
1324(a)X
1388(host)X
1549(is)X
1630(named)X
1872(by)X
1980(an)X
2084(integer)X
2335(called)X
2555(the)X
2 f
2681(process)X
2954(ID)X
1 f
3039(.)X
3108(This)X
3279(number)X
3553(is)X
3635(in)X
3726(the)X
3853(range)X
576 4076(1-30000)N
863(and)X
999(is)X
1072(returned)X
1360(by)X
1460(the)X
2 f
1578(getpid)X
1 f
1798(routine:)X
864 4220(pid)N
986(=)X
1051(getpid\(\);)X
864 4316(result)N
1062(pid_t)X
1246(pid;)X
576 4460(On)N
694(each)X
862(host)X
1015(this)X
1150(identi\256er)X
1459(is)X
1532(guaranteed)X
1905(to)X
1987(be)X
2083(unique;)X
2343(in)X
2425(a)X
2481(multi-host)X
2830(environment,)X
3276(the)X
3395(\(hostid,)X
3658(process)X
3920(ID\))X
576 4556(pairs)N
752(are)X
871(guaranteed)X
1244(unique.)X
1522(The)X
1667(parent)X
1888(process)X
2149(identi\256er)X
2458(can)X
2590(be)X
2686(obtained)X
2982(using)X
3175(the)X
2 f
3293(getppid)X
1 f
3553(routine:)X
864 4700(pid)N
986(=)X
1051(getppid\(\);)X
864 4796(result)N
1062(pid_t)X
1246(pid;)X
3 f
576 5036(1.1.3.)N
796(Process)X
1075(creation)X
1376(and)X
1524(termination)X
1 f
576 5188(A)N
654(new)X
808(process)X
1069(is)X
1142(created)X
1395(by)X
1495(making)X
1755(a)X
1811(logical)X
2049(duplicate)X
2363(of)X
2450(an)X
2546(existing)X
2819(process:)X
864 5332(pid)N
986(=)X
1051(fork\(\);)X
864 5428(result)N
1062(pid_t)X
1246(pid;)X
576 5572(The)N
2 f
724(fork)X
1 f
876(call)X
1016(returns)X
1263(twice,)X
1481(once)X
1657(in)X
1743(the)X
1865(parent)X
2090(process,)X
2375(where)X
2 f
2596(pid)X
1 f
2722(is)X
2799(the)X
2921(process)X
3186(identi\256er)X
3499(of)X
3590(the)X
3712(child,)X
3916(and)X
576 5668(once)N
752(in)X
838(the)X
960(child)X
1144(process)X
1409(where)X
2 f
1630(pid)X
1 f
1756(is)X
1833(0.)X
1937(The)X
2086(parent-child)X
2498(relationship)X
2900(imposes)X
3186(a)X
3245(hierarchical)X
3648(structure)X
3952(on)X
576 5764(the)N
694(set)X
803(of)X
890(processes)X
1218(in)X
1300(the)X
1418(system.)X
6 p
%%Page: 6 4
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-6)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
776 672(For)N
908(processes)X
1237(that)X
1378(are)X
1498(forking)X
1755(solely)X
1967(for)X
2082(the)X
2201(purpose)X
2476(of)X
2 f
2564(execve)X
1 f
2780('ing)X
2930(another)X
3192(program,)X
3505(the)X
2 f
3624(vfork)X
1 f
3810(system)X
576 768(call)N
712(provides)X
1008(a)X
1064(faster)X
1263(interface:)X
864 912(pid)N
986(=)X
1051(vfork\(\);)X
864 1008(result)N
1062(pid_t)X
1246(pid;)X
576 1152(Like)N
2 f
746(fork)X
1 f
875(,)X
918(the)X
2 f
1039(vfork)X
1 f
1227(call)X
1366(returns)X
1612(twice,)X
1829(once)X
2004(in)X
2089(the)X
2210(parent)X
2434(process,)X
2719(where)X
2 f
2940(pid)X
1 f
3066(is)X
3143(the)X
3265(process)X
3530(identi\256er)X
3843(of)X
3934(the)X
576 1248(child,)N
778(and)X
916(once)X
1090(in)X
1174(the)X
1294(child)X
1476(process)X
1739(where)X
2 f
1958(pid)X
1 f
2082(is)X
2157(0.)X
2259(The)X
2406(parent)X
2629(process)X
2892(is)X
2967(suspended)X
3323(until)X
3491(the)X
3610(child)X
3791(process)X
576 1344(calls)N
743(either)X
2 f
946(execve)X
1 f
1182(or)X
2 f
1269(exit)X
1 f
1385(.)X
576 1468(A)N
654(process)X
915(may)X
1073(terminate)X
1396(by)X
1496(executing)X
1828(an)X
2 f
1924(exit)X
1 f
2060(call:)X
864 1612(exit\(status\);)N
864 1708(int)N
968(status;)X
576 1852(The)N
721(lower)X
924(8)X
984(bits)X
1119(of)X
1206(exit)X
1346(status)X
1548(are)X
1667(available)X
1977(to)X
2059(its)X
2154(parent.)X
776 1976(When)N
993(a)X
1054(child)X
1239(process)X
1505(exits)X
1681(or)X
1773(terminates)X
2132(abnormally,)X
2542(the)X
2666(parent)X
2893(process)X
3160(receives)X
3450(information)X
3854(about)X
576 2072(the)N
698(event)X
896(which)X
1116(caused)X
1359(termination)X
1752(of)X
1842(the)X
1963(child)X
2146(process.)X
2450(The)X
2598(interface)X
2903(allows)X
3135(the)X
3256(parent)X
3480(to)X
3565(wait)X
3726(for)X
3843(a)X
3902(par-)X
576 2168(ticular)N
809(process,)X
1098(process)X
1367(group,)X
1602(or)X
1697(any)X
1841(direct)X
2052(descendent)X
2437(and)X
2581(to)X
2671(retrieve)X
2945(information)X
3351(about)X
3557(resources)X
3889(con-)X
576 2264(sumed)N
811(by)X
916(the)X
1039(process)X
1305(during)X
1539(its)X
1639(lifetime.)X
1953(The)X
2103(request)X
2360(may)X
2523(be)X
2624(done)X
2805(either)X
3013(synchronously)X
3505(\(waiting)X
3797(for)X
3916(one)X
576 2360(of)N
664(the)X
783(requested)X
1112(processes)X
1441(to)X
1524(exit\),)X
1712(or)X
1800(asynchronously)X
2324(\(polling)X
2598(to)X
2681(see)X
2805(if)X
2875(any)X
3012(of)X
3100(the)X
3220(requested)X
3550(processes)X
3880(have)X
576 2456(exited\):)N
864 2600(pid)N
986(=)X
1051(wait4\(wpid,)X
1456(astatus,)X
1714(options,)X
1989(arusage\);)X
864 2696(result)N
1062(pid_t)X
1246(pid;)X
1390(pid_t)X
1574(wpid;)X
1776(result)X
1974(int)X
2078(*astatus;)X
864 2792(int)N
968(options;)X
1245(result)X
1443(struct)X
1641(rusage)X
1871(*arusage;)X
776 2964(A)N
861(process)X
1129(can)X
1268(overlay)X
1536(itself)X
1723(with)X
1892(the)X
2017(memory)X
2311(image)X
2534(of)X
2628(another)X
2896(process,)X
3184(passing)X
3451(the)X
3576(newly)X
3799(created)X
576 3060(process)N
837(a)X
893(set)X
1002(of)X
1089(parameters,)X
1482(using)X
1675(the)X
1793(call:)X
864 3204 0.2841(execve\(name,)AN
1329(argv,)X
1512(envp\);)X
864 3300(char)N
1023(*name,)X
1277(*argv[],)X
1554(*envp[];)X
576 3444(The)N
722(speci\256ed)X
2 f
1028(name)X
1 f
1223(must)X
1399(be)X
1496(a)X
1553(\256le)X
1676(which)X
1893(is)X
1967(in)X
2050(a)X
2107(format)X
2342(recognized)X
2716(by)X
2817(the)X
2936(system,)X
3199(either)X
3403(a)X
3461(binary)X
3688(executable)X
576 3540(\256le)N
706(or)X
801(a)X
865(\256le)X
995(which)X
1219(causes)X
1457(the)X
1583(execution)X
1923(of)X
2018(a)X
2082(speci\256ed)X
2395(interpreter)X
2758(program)X
3058(to)X
3148(process)X
3417(its)X
3519(contents.)X
3853(If)X
3934(the)X
576 3636(set-user-ID)N
959(mode)X
1158(bit)X
1263(is)X
1337(set,)X
1467(the)X
1586(effective)X
1889(user)X
2045(ID)X
2152(is)X
2227(set)X
2338(to)X
2422(the)X
2542(owner)X
2765(of)X
2854(the)X
2974(\256le;)X
3120(if)X
3191(the)X
3311(set-group-ID)X
3748(mode)X
3948(bit)X
576 3732(is)N
650(set,)X
780(the)X
899(effective)X
1202(group)X
1410(ID)X
1516(is)X
1590(set)X
1700(to)X
1783(the)X
1902(group)X
2110(of)X
2198(the)X
2317(\256le.)X
2480(Whether)X
2778(changed)X
3067(or)X
3155(not,)X
3298(the)X
3417(effective)X
3720(user)X
3874(ID)X
3979(is)X
576 3828(then)N
734(copied)X
968(to)X
1050(the)X
1168(saved)X
1371(user)X
1525(ID,)X
1650(and)X
1786(the)X
1904(effective)X
2206(group)X
2413(ID)X
2518(is)X
2591(copied)X
2825(to)X
2907(the)X
3025(saved)X
3228(group)X
3435(ID.)X
3 f
576 4020(1.1.4.)N
796(User)X
977(and)X
1125(group)X
1349(IDs)X
1 f
776 4172(Each)N
959(process)X
1222(in)X
1306(the)X
1426(system)X
1670(has)X
1799(associated)X
2151(with)X
2315(it)X
2381(three)X
2564(user)X
2720(IDs:)X
2880(a)X
2 f
2938(real)X
3089(user)X
3249(ID)X
1 f
3334(,)X
3376(an)X
2 f
3475(effective)X
3766(user)X
3927(ID)X
1 f
4012(,)X
576 4268(and)N
721(a)X
2 f
786(saved)X
998(user)X
1165(ID)X
1 f
1250(,)X
1299(all)X
1408(unsigned)X
1725(integral)X
1998(types)X
2195(\()X
3 f
2222(uid_t)X
1 f
2399(\).)X
2494(Each)X
2683(process)X
2952(has)X
3087(a)X
2 f
3151(real)X
3308(group)X
3527(ID)X
1 f
3640(and)X
3784(a)X
3848(set)X
3965(of)X
2 f
576 4364(access)N
812(group)X
1029(IDs)X
1 f
1145(,)X
1191(the)X
1315(\256rst)X
1465(of)X
1558(which)X
1780(is)X
1859(the)X
2 f
1983(effective)X
2277(group)X
2494(ID)X
1 f
2579(.)X
2645(The)X
2796(group)X
3009(IDs)X
3151(are)X
3276(unsigned)X
3591(integral)X
3863(types)X
576 4460(\()N
3 f
603(gid_t)X
1 f
776(\).)X
877(Each)X
1072(process)X
1347(may)X
1519(be)X
1629(in)X
1725(multiple)X
2025(access)X
2265(groups.)X
2556(The)X
2714(maximum)X
3071(concurrent)X
3448(number)X
3726(of)X
3826(access)X
576 4556(groups)N
851(is)X
961(a)X
1055(system)X
1335(compilation)X
1775(parameter,)X
2175(represented)X
2604(by)X
2742(the)X
2898(constant)X
3223(NGROUPS)X
3654(in)X
3774(the)X
3930(\256le)X
2 f
576 4652(<sys/param.h>)N
1 f
1073(.)X
1133(It)X
1202(is)X
1275(guaranteed)X
1648(to)X
1730(be)X
1826(at)X
1904(least)X
2071(16.)X
576 4776(The)N
732(real)X
884(group)X
1102(ID)X
1218(is)X
1302(used)X
1480(in)X
1573(process)X
1845(accounting)X
2228(and)X
2376(in)X
2470(testing)X
2715(whether)X
3006(the)X
3136(effective)X
3450(group)X
3669(ID)X
3786(may)X
3956(be)X
576 4872(changed;)N
890(it)X
958(is)X
1035(not)X
1161(otherwise)X
1497(used)X
1668(for)X
1786(access)X
2016(control.)X
2307(The)X
2456(members)X
2774(of)X
2865(the)X
2987(access)X
3216(group)X
3426(ID)X
3534(set)X
3646(are)X
3768(used)X
3938(for)X
576 4968(access)N
805(control.)X
1095(Because)X
1386(the)X
1507(\256rst)X
1654(member)X
1940(of)X
2030(the)X
2151(set)X
2263(is)X
2339(the)X
2460(effective)X
2766(group)X
2977(ID,)X
3106(which)X
3326(is)X
3403(changed)X
3695(when)X
3893(exe-)X
576 5064(cuting)N
802(a)X
864(set-group-ID)X
1305(program,)X
1623(that)X
1769(element)X
2049(is)X
2128(normally)X
2442(duplicated)X
2801(in)X
2888(the)X
3011(set)X
3125(so)X
3221(that)X
3366(access)X
3597(privileges)X
3938(for)X
576 5160(the)N
694(original)X
963(group)X
1170(are)X
1289(not)X
1411(lost)X
1546(when)X
1740(using)X
1933(a)X
1989(set-group-ID)X
2424(program.)X
576 5284(The)N
721(real)X
862(and)X
998(effective)X
1300(user)X
1454(IDs)X
1590(associated)X
1940(with)X
2102(a)X
2158(process)X
2419(are)X
2538(returned)X
2826(by:)X
864 5428(ruid)N
1013(=)X
1078(getuid\(\);)X
864 5524(result)N
1062(uid_t)X
1246(ruid;)X
7 p
%%Page: 7 5
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3757(PSD:5-7)X
864 720(euid)N
1022(=)X
1087(geteuid\(\);)X
864 816(result)N
1062(uid_t)X
1246(euid;)X
576 960(the)N
694(real)X
835(and)X
971(effective)X
1273(group)X
1480(IDs)X
1616(by:)X
864 1104(rgid)N
1013(=)X
1078(getgid\(\);)X
864 1200(result)N
1062(gid_t)X
1246(rgid;)X
864 1392(egid)N
1022(=)X
1087(getegid\(\);)X
864 1488(result)N
1062(gid_t)X
1246(egid;)X
576 1632(The)N
721(access)X
947(group)X
1154(ID)X
1259(set)X
1368(is)X
1441(returned)X
1729(by)X
1829(a)X
2 f
1885(getgroups)X
1 f
2225(call:)X
864 1776(ngroups)N
1142(=)X
1207(getgroups\(gidsetsize,)X
1906(gidset\);)X
864 1872(result)N
1062(int)X
1166(ngroups;)X
1466(int)X
1570(gidsetsize;)X
1928(result)X
2126(gid_t)X
2310(gidset[gidsetsize];)X
576 2044(The)N
721(user)X
875(and)X
1011(group)X
1218(IDs)X
1354(are)X
1473(assigned)X
1769(at)X
1847(login)X
2031(time)X
2193(using)X
2386(the)X
2 f
2504(setuid)X
1 f
2695(,)X
2 f
2735(setgid)X
1 f
2926(,)X
2966(and)X
2 f
3102(setgroups)X
1 f
3433(calls:)X
864 2188(setuid\(uid\);)N
864 2284(uid_t)N
1048(uid;)X
864 2476(setgid\(gid\);)N
864 2572(gid_t)N
1048(gid;)X
864 2764(setgroups\(gidsetsize,)N
1554(gidset\);)X
864 2860(int)N
968(gidsetsize;)X
1326(gid_t)X
1510(gidset[gidsetsize];)X
576 3004(The)N
2 f
725(setuid)X
1 f
940(call)X
1080(sets)X
1224(the)X
1346(real,)X
1511(effective,)X
1837(and)X
1977(saved)X
2184(user)X
2343(IDs,)X
2504(and)X
2645(is)X
2723(permitted)X
3055(only)X
3222(if)X
3296(the)X
3419(speci\256ed)X
2 f
3729(uid)X
1 f
3856(is)X
3934(the)X
576 3100(current)N
835(real)X
987(user)X
1152(ID)X
1268(or)X
1366(if)X
1446(the)X
1575(caller)X
1784(is)X
1867(the)X
1995(super-user.)X
2400(The)X
2 f
2555(setgid)X
1 f
2776(call)X
2922(sets)X
3072(the)X
3200(real,)X
3371(effective,)X
3703(and)X
3849(saved)X
576 3196(group)N
787(IDs;)X
949(it)X
1017(is)X
1094(permitted)X
1425(only)X
1591(if)X
1664(the)X
1786(speci\256ed)X
2 f
2095(gid)X
1 f
2221(is)X
2298(the)X
2420(current)X
2672(real)X
2817(group)X
3028(ID)X
3137(or)X
3229(if)X
3303(the)X
3426(caller)X
3630(is)X
3708(the)X
3831(super-)X
576 3292(user.)N
770(The)X
2 f
915(setgroups)X
1 f
1246(call)X
1382(sets)X
1522(the)X
1640(access)X
1866(group)X
2073(ID)X
2178(set,)X
2307(and)X
2443(is)X
2516(restricted)X
2835(to)X
2917(the)X
3035(super-user.)X
576 3416(The)N
2 f
721(seteuid)X
1 f
968(routine)X
1215(allows)X
1444(any)X
1580(process)X
1841(to)X
1923(set)X
2032(its)X
2127(effective)X
2429(user)X
2583(ID)X
2688(to)X
2770(either)X
2973(its)X
3068(real)X
3209(or)X
3296(saved)X
3499(user)X
3653(ID:)X
864 3560(seteuid\(uid\);)N
864 3656(uid_t)N
1048(uid;)X
576 3800(The)N
2 f
721(setegid)X
1 f
968(routine)X
1215(allows)X
1444(any)X
1580(process)X
1841(to)X
1923(set)X
2032(its)X
2127(effective)X
2429(group)X
2636(ID)X
2741(to)X
2823(either)X
3026(its)X
3121(real)X
3262(or)X
3349(saved)X
3552(group)X
3759(ID:)X
864 3944(setegid\(gid\);)N
864 4040(gid_t)N
1048(gid;)X
3 f
576 4280(1.1.5.)N
796(Sessions)X
1 f
776 4432(When)N
990(a)X
1048(user)X
1204(\256rst)X
1350(logs)X
1505(onto)X
1669(the)X
1789(system,)X
2053(they)X
2213(are)X
2334(put)X
2458(into)X
2604(a)X
2662(session)X
2915(with)X
3079(a)X
3137(controlling)X
3510(process)X
3774(\(usually)X
576 4528(a)N
632(shell\).)X
870(The)X
1015(session)X
1266(is)X
1339(created)X
1592(with)X
1754(the)X
1872(call:)X
864 4672(pid)N
986(=)X
1051(setsid\(\);)X
864 4768(result)N
1062(pid_t)X
1246(pid;)X
576 4912(All)N
703(subsequent)X
1084(processes)X
1417(created)X
1675(by)X
1780(the)X
1903(user)X
2062(\(that)X
2234(do)X
2339(not)X
2466(call)X
2 f
2607(setsid)X
1 f
2789(\))X
2841(will)X
2990(be)X
3091(part)X
3242(of)X
3335(the)X
3459(session.)X
3756(The)X
3907(ses-)X
576 5008(sion)N
729(also)X
878(has)X
1005(a)X
1061(login)X
1245(name)X
1439(associated)X
1789(with)X
1951(it)X
2015(which)X
2231(is)X
2304(set)X
2413(using)X
2606(the)X
2724(privileged)X
3069(call:)X
864 5152(setlogin\(name\);)N
864 5248(char)N
1023(*name;)X
576 5392(The)N
721(login)X
905(name)X
1099(can)X
1231(be)X
1327(retrieved)X
1633(using)X
1826(the)X
1944(call:)X
864 5536(name)N
1058(=)X
1123(getlogin\(\);)X
864 5632(result)N
1062(char)X
1221(*name;)X
576 5776(Unlike)N
814(historic)X
1074(systems,)X
1367(the)X
1485(value)X
1679(returned)X
1967(by)X
2 f
2067(getlogin)X
1 f
2349(is)X
2422(stored)X
2638(in)X
2720(the)X
2838(kernel)X
3059(and)X
3195(can)X
3327(be)X
3423(trusted.)X
8 p
%%Page: 8 6
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-8)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
3 f
576 672(1.1.6.)N
796(Process)X
1075(groups)X
1 f
776 824(Each)N
958(process)X
1220(in)X
1303(the)X
1422(system)X
1665(is)X
1739(also)X
1889(associated)X
2240(with)X
2403(a)X
2 f
2461(process)X
2728(group)X
1 f
2919(.)X
2981(The)X
3128(group)X
3337(of)X
3426(processes)X
3756(in)X
3840(a)X
3898(pro-)X
576 920(cess)N
738(group)X
953(is)X
1034(sometimes)X
1403(referred)X
1686(to)X
1775(as)X
1869(a)X
2 f
1932(job)X
1 f
2061(and)X
2204(manipulated)X
2627(by)X
2734(high-level)X
3086(system)X
3335(software)X
3639(\(such)X
3840(as)X
3934(the)X
576 1016(shell\).)N
818(All)X
944(members)X
1262(of)X
1353(a)X
1413(process)X
1678(group)X
1889(are)X
2012(members)X
2330(of)X
2421(the)X
2543(same)X
2732(session.)X
3027(The)X
3176(current)X
3428(process)X
3693(group)X
3904(of)X
3996(a)X
576 1112(process)N
837(is)X
910(returned)X
1198(by)X
1298(the)X
2 f
1416(getpgrp)X
1 f
1685(call:)X
864 1256(pgrp)N
1031(=)X
1096(getpgrp\(\);)X
864 1352(result)N
1062(pid_t)X
1246(pgrp;)X
576 1496(When)N
791(a)X
850(process)X
1114(is)X
1190(in)X
1275(a)X
1335(speci\256c)X
1604(process)X
1869(group)X
2080(it)X
2148(may)X
2310(receive)X
2567(software)X
2868(interrupts)X
3199(affecting)X
3509(the)X
3631(group,)X
3862(caus-)X
576 1592(ing)N
699(the)X
818(group)X
1026(to)X
1109(suspend)X
1388(or)X
1476(resume)X
1728(execution)X
2060(or)X
2147(to)X
2229(be)X
2325(interrupted)X
2697(or)X
2784(terminated.)X
3187(In)X
3274(particular,)X
3622(a)X
3678(system)X
3920(ter-)X
576 1688(minal)N
778(has)X
905(a)X
961(process)X
1222(group)X
1429(and)X
1565(only)X
1727(processes)X
2055(which)X
2271(are)X
2390(in)X
2473(the)X
2592(process)X
2854(group)X
3062(of)X
3150(the)X
3269(terminal)X
3557(may)X
3716(read)X
3876(from)X
576 1784(the)N
694(terminal,)X
1001(allowing)X
1301(arbitration)X
1655(of)X
1742(a)X
1798(terminal)X
2085(among)X
2323(several)X
2571(different)X
2868(jobs.)X
576 1908(The)N
721(process)X
982(group)X
1189(associated)X
1539(with)X
1701(a)X
1757(process)X
2018(may)X
2176(be)X
2272(changed)X
2560(by)X
2660(the)X
2 f
2778(setpgid)X
1 f
3029(call:)X
864 2052(setpgid\(pid,)N
1264(pgrp\);)X
864 2148(pid_t)N
1048(pid,)X
1190(pgrp;)X
576 2292(Newly)N
815(created)X
1073(processes)X
1406(are)X
1530(assigned)X
1831(process)X
2097(IDs)X
2238(distinct)X
2498(from)X
2679(all)X
2785(processes)X
3119(and)X
3261(process)X
3528(groups,)X
3792(and)X
3934(the)X
576 2388(same)N
763(process)X
1026(group)X
1235(as)X
1324(their)X
1493(parent.)X
1756(Any)X
1916(process)X
2179(may)X
2339(set)X
2450(its)X
2547(process)X
2810(group)X
3019(equal)X
3215(to)X
3299(its)X
3395(process)X
3657(ID)X
3763(or)X
3851(to)X
3934(the)X
576 2484(value)N
770(of)X
857(any)X
993(process)X
1254(group)X
1461(within)X
1685(its)X
1780(session.)X
3 f
576 2676(1.2.)N
736(Memory)X
1051(management)X
576 2896(1.2.1.)N
796(Text,)X
992(data,)X
1183(and)X
1331(stack)X
1 f
776 3048(Each)N
963(process)X
1230(begins)X
1465(execution)X
1803(with)X
1971(three)X
2159(logical)X
2404(areas)X
2597(of)X
2691(memory)X
2985(called)X
3204(text,)X
3371(data,)X
3552(and)X
3695(stack.)X
3907(The)X
576 3144(text)N
725(area)X
889(is)X
971(read-only)X
1308(and)X
1453(shared,)X
1712(while)X
1919(the)X
2046(data)X
2209(and)X
2354(stack)X
2548(areas)X
2742(are)X
2869(writable)X
3160(and)X
3304(private)X
3555(to)X
3645(the)X
3771(process.)X
576 3240(Both)N
751(the)X
869(data)X
1023(and)X
1159(stack)X
1344(areas)X
1530(may)X
1688(be)X
1784(extended)X
2094(and)X
2230(contracted)X
2585(on)X
2685(program)X
2977(request.)X
3269(The)X
3414(call:)X
864 3384(brk\(addr\);)N
864 3480(caddr_t)N
1125(addr;)X
576 3624(sets)N
721(the)X
844(end)X
985(of)X
1077(the)X
1200(data)X
1359(segment)X
1651(to)X
1738(the)X
1861(speci\256ed)X
2171(address.)X
2477(More)X
2676(conveniently,)X
3135(the)X
3258(end)X
3399(can)X
3536(be)X
3637(extended)X
3952(by)X
2 f
576 3720(incr)N
1 f
725(bytes,)X
934(and)X
1070(the)X
1188(base)X
1351(of)X
1438(the)X
1556(new)X
1710(area)X
1865(returned)X
2153(with)X
2315(the)X
2433(call:)X
864 3864(addr)N
1027(=)X
1092(sbrk\(incr\);)X
864 3960(result)N
1062(caddr_t)X
1323(addr;)X
1508(int)X
1612(incr;)X
576 4104(Application)N
978(programs)X
1305(normally)X
1618(use)X
1749(the)X
1871(library)X
2109(routines)X
2 f
2391(malloc)X
1 f
2633(and)X
2 f
2773(free)X
1 f
2898(,)X
2942(which)X
3162(provide)X
3431(a)X
3491(more)X
3680(convenient)X
576 4200(interface)N
878(than)X
2 f
1036(brk)X
1 f
1163(and)X
2 f
1299(sbrk)X
1 f
1437(.)X
576 4324(There)N
784(is)X
857(no)X
957(call)X
1093(for)X
1207(extending)X
1543(the)X
1661(stack,)X
1866(as)X
1953(it)X
2017(is)X
2090(automatically)X
2546(extended)X
2856(as)X
2943(needed.)X
3 f
576 4516(1.2.2.)N
796(Mapping)X
1126(pages)X
1 f
776 4668(The)N
941(system)X
1203(supports)X
1514(sharing)X
1790(of)X
1897(data)X
2071(between)X
2379(processes)X
2727(by)X
2848(allowing)X
3169(pages)X
3393(to)X
3496(be)X
3613(mapped)X
3908(into)X
576 4764(memory.)N
911(These)X
1131(mapped)X
1413(pages)X
1624(may)X
1789(be)X
2 f
1892(shared)X
1 f
2137(with)X
2306(other)X
2498(processes)X
2833(or)X
2 f
2927(private)X
1 f
3181(to)X
3270(the)X
3395(process.)X
3703(Protection)X
576 4860(and)N
712(sharing)X
968(options)X
1223(are)X
1342(de\256ned)X
1598(in)X
2 f
1680(<sys/mman.h>)X
1 f
2184(as:)X
864 5052(Protections)N
1244(are)X
1363(chosen)X
1606(from)X
1782(these)X
1967(bits,)X
2122(or-ed)X
2312(together:)X
864 5244(PROT_READ)N
1482(/*)X
1564(pages)X
1767(can)X
1899(be)X
1995(read)X
2154(*/)X
864 5340(PROT_WRITE)N
1482(/*)X
1564(pages)X
1767(can)X
1899(be)X
1995(written)X
2242(*/)X
864 5436(PROT_EXEC)N
1482(/*)X
1564(pages)X
1767(can)X
1899(be)X
1995(executed)X
2301(*/)X
9 p
%%Page: 9 7
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3757(PSD:5-9)X
864 768(Flags)N
1057(contain)X
1313(sharing)X
1569(type)X
1727(and)X
1863(options.)X
2158(Sharing)X
2427(options,)X
2702(choose)X
2945(one:)X
864 960(MAP_SHARED)N
1535(/*)X
1617(share)X
1807(changes)X
2086(*/)X
864 1056(MAP_PRIVATE)N
1535(/*)X
1617(changes)X
1896(are)X
2015(private)X
2258(*/)X
864 1344(Option)N
1106(\257ags\262:)X
864 1536(MAP_ANON)N
1841(/*)X
1923(allocated)X
2233(from)X
2409(virtual)X
2638(memory;)X
2 f
2947(fd)X
1 f
3029(ignored)X
3294(*/)X
864 1632(MAP_FIXED)N
1841(/*)X
1923(map)X
2081(addr)X
2244(must)X
2419(be)X
2515(exactly)X
2767(as)X
2854(requested)X
3182(*/)X
864 1728(MAP_NORESERVE)N
1841(/*)X
1923(don't)X
2112(reserve)X
2365(needed)X
2613(swap)X
2798(area)X
2953(*/)X
864 1824(MAP_INHERIT)N
1841(/*)X
1923(region)X
2148(is)X
2221(retained)X
2500(after)X
2668(exec)X
2836(*/)X
864 1920(MAP_HASSEMAPHORE)N
1841(/*)X
1923(region)X
2148(may)X
2306(contain)X
2562(semaphores)X
2961(*/)X
576 2112(The)N
723(size)X
870(of)X
959(a)X
1017(page)X
1191(is)X
1266(cpu-dependent,)X
1782(and)X
1921(is)X
1997(returned)X
2288(by)X
2391(the)X
2 f
2512(sysctl)X
1 f
2713(interface)X
3018(described)X
3349(in)X
3434(section)X
3684(1.7.1.)X
3907(The)X
2 f
576 2208(getpagesize)N
1 f
970(library)X
1204(routine)X
1451(is)X
1524(provided)X
1829(for)X
1943(convenience)X
2365(and)X
2501(backward)X
2834(compatibility:)X
864 2352(pagesize)N
1161(=)X
1226(getpagesize\(\);)X
864 2448(result)N
1062(int)X
1166(pagesize;)X
576 2620(The)N
721(call:)X
864 2764(maddr)N
1089(=)X
1154(mmap\(addr,)X
1564(len,)X
1702(prot,)X
1871(\257ags,)X
2062(fd,)X
2169(pos\);)X
864 2860(result)N
1062(caddr_t)X
1323(maddr;)X
1570(caddr_t)X
1831(addr;)X
2016(size_t)X
2223(len;)X
2363(int)X
2467(prot,)X
2636(\257ags,)X
2827(fd;)X
2936(off_t)X
3112(pos;)X
576 3004(causes)N
821(the)X
954(pages)X
1172(starting)X
1447(at)X
2 f
1540(addr)X
1 f
1726(and)X
1878(continuing)X
2256(for)X
2386(at)X
2480(most)X
2 f
2671(len)X
1 f
2805(bytes)X
3010(to)X
3108(be)X
3220(mapped)X
3510(from)X
3702(the)X
3836(object)X
576 3100(represented)N
980(by)X
1093(descriptor)X
2 f
1447(fd)X
1 f
1509(,)X
1562(starting)X
1834(at)X
1924(byte)X
2094(offset)X
2 f
2309(pos)X
1 f
2420(.)X
2492(If)X
2 f
2578(addr)X
1 f
2761(is)X
2846(NULL,)X
3112(the)X
3242(system)X
3496(picks)X
3697(an)X
3805(unused)X
576 3196(address)N
840(for)X
957(the)X
1078(region.)X
1346(The)X
1494(starting)X
1757(address)X
2021(of)X
2111(the)X
2232(region)X
2460(is)X
2536(returned;)X
2849(for)X
2966(the)X
3087(convenience)X
3512(of)X
3602(the)X
3723(system,)X
3988(it)X
576 3292(may)N
735(differ)X
935(from)X
1112(that)X
1253(supplied)X
1545(unless)X
1766(the)X
1885(MAP_FIXED)X
2355(\257ag)X
2495(is)X
2568(given,)X
2786(in)X
2868(which)X
3084(case)X
3243(the)X
3361(exact)X
3551(address)X
3812(will)X
3956(be)X
576 3388(used)N
743(or)X
830(the)X
948(call)X
1084(will)X
1228(fail.)X
1395(The)X
2 f
1540(addr)X
1 f
1711(parameter)X
2053(must)X
2228(be)X
2324(a)X
2380(multiple)X
2666(of)X
2753(the)X
2871(pagesize)X
3168(\(if)X
3264(MAP_FIXED)X
3733(is)X
3807(given\).)X
576 3484(If)N
2 f
658(pos)X
1 f
797(and)X
2 f
941(len)X
1 f
1066(are)X
1192(not)X
1321(a)X
1384(multiple)X
1677(of)X
1771(pagesize,)X
2095(they)X
2260(will)X
2411(be)X
2514(rounded)X
2804(\(down)X
3036(and)X
3179(up)X
3286(respectively\))X
3728(to)X
3817(a)X
3880(page)X
576 3580(boundary)N
903(by)X
1007(the)X
1129(system;)X
1397(the)X
1519(rounding)X
1832(will)X
1981(cause)X
2185(the)X
2308(mapped)X
2587(region)X
2817(to)X
2904(extend)X
3143(past)X
3297(the)X
3420(speci\256ed)X
3730(range.)X
3974(A)X
576 3676(successful)N
2 f
939(mmap)X
1 f
1168(will)X
1325(delete)X
1550(any)X
1698(previous)X
2006(mapping)X
2318(in)X
2412(the)X
2542(allocated)X
2864(address)X
3137(range.)X
3388(The)X
3545(parameter)X
2 f
3899(prot)X
1 f
576 3772(speci\256es)N
885(the)X
1016(accessibility)X
1445(of)X
1545(the)X
1676(mapped)X
1963(pages.)X
2219(The)X
2377(parameter)X
2 f
2732(\257ags)X
1 f
2916(speci\256es)X
3225(the)X
3357(type)X
3529(of)X
3630(object)X
3860(to)X
3956(be)X
576 3868(mapped,)N
873(mapping)X
1176(options,)X
1454(and)X
1593(whether)X
1875(modi\256cations)X
2333(made)X
2530(to)X
2615(this)X
2753(mapped)X
3030(copy)X
3208(of)X
3297(the)X
3417(page)X
3591(are)X
3712(to)X
3796(be)X
3894(kept)X
2 f
576 3964(private)N
1 f
803(,)X
879(or)X
1002(are)X
1157(to)X
1275(be)X
2 f
1408(shared)X
1 f
1683(with)X
1882(other)X
2104 0.3500(references.)AX
2533(Possible)X
2856(types)X
3082(include)X
3375(MAP_SHARED)X
3965(or)X
576 4060(MAP_PRIVATE)N
1160(that)X
1313(map)X
1484(a)X
1553(regular)X
1814(\256le)X
1949(or)X
2049 0.2656(character-special)AX
2628(device)X
2871(memory,)X
3191(and)X
3339(MAP_ANON,)X
3836(which)X
576 4156(maps)N
771(memory)X
1064(not)X
1192(associated)X
1548(with)X
1716(any)X
1858(speci\256c)X
2129(\256le.)X
2297(The)X
2449(\256le)X
2578(descriptor)X
2926(used)X
3100(when)X
3301(creating)X
3587(MAP_ANON)X
576 4252(regions)N
841(is)X
923(not)X
1054(used)X
1230(and)X
1375(should)X
1617(be)X
9 f
1722(-)X
1 f
1766(1.)X
1875(The)X
2029(MAP_INHERIT)X
2591(\257ag)X
2739(allows)X
2976(a)X
3040(region)X
3273(to)X
3363(be)X
3467(inherited)X
3780(after)X
3956(an)X
2 f
576 4348(execve)N
1 f
792(.)X
862(The)X
1017(MAP_HASSEMAPHORE)X
1905(\257ag)X
2056(allows)X
2296(special)X
2550(handling)X
2861(for)X
2986(regions)X
3253(that)X
3404(may)X
3573(contain)X
3840(sema-)X
576 4444(phores.)N
854(The)X
1003(MAP_NORESERVE)X
1711(\257ag)X
1855(allows)X
2088(processes)X
2420(to)X
2505(allocate)X
2778(regions)X
3037(whose)X
3265(virtual)X
3497(address)X
3761(space,)X
3983(if)X
576 4540(fully)N
757(allocated,)X
1097(would)X
1327(exceed)X
1581(the)X
1709(available)X
2029(memory)X
2326(plus)X
2489(swap)X
2684(resources.)X
3058(Such)X
3248(regions)X
3514(may)X
3682(get)X
3810(a)X
3876(SIG-)X
576 4636(SEGV)N
806(signal)X
1018(if)X
1088(they)X
1247(page)X
1420(fault)X
1588(and)X
1725(resources)X
2050(are)X
2170(not)X
2293(available)X
2603(to)X
2685(service)X
2933(their)X
3100(request;)X
3374(typically)X
3674(they)X
3832(would)X
576 4732(free)N
725(up)X
828(some)X
1020(resources)X
1347(via)X
2 f
1468(munmap)X
1 f
1767(so)X
1861(that)X
2004(when)X
2201(they)X
2363(return)X
2579(from)X
2759(the)X
2881(signal)X
3096(the)X
3218(page)X
3394(fault)X
3565(could)X
3767(be)X
3867(com-)X
576 4828(pleted)N
792(successfully.)X
576 4952(A)N
654(facility)X
901(is)X
974(provided)X
1279(to)X
1361(synchronize)X
1769(a)X
1825(mapped)X
2099(region)X
2324(with)X
2486(the)X
2604(\256le)X
2726(it)X
2790(maps;)X
3001(the)X
3119(call:)X
864 5096(msync\(addr,)N
1283(len\);)X
864 5192(caddr_t)N
1125(addr;)X
1310(size_t)X
1517(len;)X
576 5336(causes)N
807(any)X
944(modi\256ed)X
1249(pages)X
1453(in)X
1536(the)X
1655(speci\256ed)X
1961(region)X
2187(to)X
2270(be)X
2367(synchronized)X
2816(with)X
2979(their)X
3147(source)X
3378(and)X
3515(other)X
3701(mappings.)X
576 5432(If)N
653(necessary,)X
1009(it)X
1076(writes)X
1295(any)X
1434(modi\256ed)X
1741(pages)X
1947(back)X
2122(to)X
2207(the)X
2328(\256lesystem,)X
2695(and)X
2834(updates)X
3102(the)X
3223(\256le)X
3348(modi\256cation)X
3774(time.)X
3978(If)X
2 f
576 5528(len)N
1 f
696(is)X
771(0,)X
853(all)X
955(modi\256ed)X
1261(pages)X
1466(within)X
1692(the)X
1812(region)X
2039(containing)X
2 f
2399(addr)X
1 f
2572(will)X
2718(be)X
2817(\257ushed;)X
3093(this)X
3231(usage)X
3437(is)X
3513(provisional,)X
3916(and)X
8 s
10 f
576 5608(hhhhhhhhhhhhhhhhhh)N
1 f
576 5688(\262)N
624(In)X
693(4.4BSD,)X
930(only)X
1060(MAP_ANON)X
1431(and)X
1539(MAP_FIXED)X
1914(are)X
2007(implemented.)X
10 p
%%Page: 10 8
8 s 8 xH 0 xS 1 f 1 i
10 s
576 384(PSD:5-10)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
576 672(may)N
736(be)X
834(withdrawn.)X
1239(If)X
2 f
1315(len)X
1 f
1435(is)X
1510(non-zero,)X
1838(only)X
2002(the)X
2122(pages)X
2327(containing)X
2 f
2687(addr)X
1 f
2860(and)X
2 f
2998(len)X
1 f
3118(succeeding)X
3497(locations)X
3809(will)X
3956(be)X
576 768(examined.)N
948(Any)X
1106(required)X
1394(synchronization)X
1926(of)X
2013(memory)X
2300(caches)X
2535(will)X
2679(also)X
2828(take)X
2982(place)X
3172(at)X
3250(this)X
3385(time.)X
576 892(Filesystem)N
947(operations)X
1306(on)X
1411(a)X
1472(\256le)X
1599(that)X
1744(is)X
1822(mapped)X
2101(for)X
2221(shared)X
2457(modi\256cations)X
2918(are)X
3043(currently)X
3359(unpredictable)X
3822(except)X
576 988(after)N
744(an)X
2 f
840(msync)X
1 f
1041(.)X
576 1112(A)N
654(mapping)X
954(can)X
1086(be)X
1182(removed)X
1483(by)X
1583(the)X
1701(call)X
864 1256(munmap\(addr,)N
1354(len\);)X
864 1352(caddr_t)N
1125(addr;)X
1310(size_t)X
1517(len;)X
576 1496(This)N
744(call)X
886(deletes)X
1135(the)X
1260(mappings)X
1598(for)X
1719(the)X
1844(speci\256ed)X
2156(address)X
2424(range,)X
2650(and)X
2793(causes)X
3030(further)X
3276 0.3889(references)AX
3635(to)X
3724(addresses)X
576 1592(within)N
800(the)X
918(range)X
1117(to)X
1199(generate)X
1492(invalid)X
1734(memory)X
2021 0.3500(references.)AX
3 f
576 1784(1.2.3.)N
796(Page)X
981(protection)X
1353(control)X
1 f
576 1936(A)N
654(process)X
915(can)X
1047(control)X
1294(the)X
1412(protection)X
1757(of)X
1844(pages)X
2047(using)X
2240(the)X
2358(call:)X
864 2080(mprotect\(addr,)N
1359(len,)X
1497(prot\);)X
864 2176(caddr_t)N
1125(addr;)X
1310(size_t)X
1517(len;)X
1657(int)X
1761(prot;)X
576 2320(This)N
740(call)X
879(changes)X
1161(the)X
1282(speci\256ed)X
1590(pages)X
1796(to)X
1881(have)X
2056(protection)X
2 f
2404(prot)X
1 f
2550(.)X
2613(Not)X
2756(all)X
2859(implementations)X
3415(will)X
3562(guarantee)X
3898(pro-)X
576 2416(tection)N
814(on)X
914(a)X
970(page)X
1142(basis;)X
1344(the)X
1462(granularity)X
1834(of)X
1921(protection)X
2266(changes)X
2545(may)X
2703(be)X
2799(as)X
2886(large)X
3067(as)X
3154(an)X
3250(entire)X
3453(region.)X
3 f
576 2608(1.2.4.)N
796(Giving)X
1046(and)X
1194(getting)X
1450(advice)X
1 f
576 2760(A)N
654(process)X
915(that)X
1055(has)X
1182(knowledge)X
1554(of)X
1641(its)X
1736(memory)X
2023(behavior)X
2324(may)X
2482(use)X
2609(the)X
2 f
2727(madvise)X
1 f
2990(\262)X
3050(call:)X
864 2904(madvise\(addr,)N
1341(len,)X
1479(behav\);)X
864 3000(caddr_t)N
1125(addr;)X
1310(size_t)X
1517(len;)X
1657(int)X
1761(behav;)X
2 f
576 3144(Behav)N
1 f
797(describes)X
1116(expected)X
1422(behavior,)X
1743(as)X
1830(given)X
2028(in)X
2 f
2110(<sys/mman.h>)X
1 f
2594(:)X
864 3336(MADV_NORMAL)N
1768(/*)X
1850(no)X
1950(further)X
2189(special)X
2432(treatment)X
2755(*/)X
864 3432(MADV_RANDOM)N
1768(/*)X
1850(expect)X
2080(random)X
2345(page)X
2517 0.3889(references)AX
2869(*/)X
864 3528(MADV_SEQUENTIAL)N
1768(/*)X
1850(expect)X
2080(sequential)X
2425 0.3889(references)AX
2777(*/)X
864 3624(MADV_WILLNEED)N
1768(/*)X
1850(will)X
1994(need)X
2166(these)X
2351(pages)X
2554(*/)X
864 3720(MADV_DONTNEED)N
1768(/*)X
1850(don't)X
2039(need)X
2211(these)X
2396(pages)X
2599(*/)X
576 3912(The)N
2 f
721(mincore)X
1 f
984(\262)X
1044(function)X
1331(allows)X
1560(a)X
1616(process)X
1877(to)X
1959(obtain)X
2179(information)X
2577(about)X
2775(whether)X
3054(pages)X
3257(are)X
3376(memory)X
3663(resident:)X
864 4056(mincore\(addr,)N
1337(len,)X
1475(vec\);)X
864 4152(caddr_t)N
1125(addr;)X
1310(size_t)X
1517(len;)X
1657(result)X
1855(char)X
2014(*vec;)X
576 4296(Here)N
760(the)X
885(current)X
1140(memory)X
1434(residency)X
1769(of)X
1863(the)X
1988(pages)X
2198(is)X
2278(returned)X
2573(in)X
2662(the)X
2787(character)X
3111(array)X
2 f
3305(vec)X
1 f
3413(,)X
3461(with)X
3631(a)X
3695(value)X
3897(of)X
3992(1)X
576 4392(meaning)N
880(that)X
1028(the)X
1154(page)X
1334(is)X
1415(in-memory.)X
2 f
1839(Mincore)X
1 f
2139(provides)X
2443(only)X
2612(transient)X
2915(information)X
3320(about)X
3525(page)X
3704(residency.)X
576 4488(Real-time)N
912(processes)X
1240(that)X
1380(need)X
1552(guaranteed)X
1925(residence)X
2249(over)X
2412(time)X
2574(can)X
2706(use)X
2833(the)X
2951(call:)X
864 4632(mlock\(addr,)N
1274(len\);)X
864 4728(caddr_t)N
1125(addr;)X
1310(size_t)X
1517(len;)X
576 4872(This)N
741(call)X
880(locks)X
1072(the)X
1193(pages)X
1399(for)X
1517(the)X
1639(speci\256ed)X
1948(address)X
2213(range)X
2416(into)X
2564(memory)X
2855(\(paging)X
3124(them)X
3308(in)X
3394(if)X
3467(necessary\))X
3831(ensur-)X
576 4968(ing)N
707(that)X
856(further)X
1104 0.3889(references)AX
1465(to)X
1556(addresses)X
1893(within)X
2125(the)X
2251(range)X
2458(will)X
2610(never)X
2817(generate)X
3118(page)X
3298(faults.)X
3544(The)X
3697(amount)X
3965(of)X
576 5064(memory)N
869(that)X
1015(may)X
1180(be)X
1283(locked)X
1524(is)X
1604(controlled)X
1956(by)X
2063(a)X
2126(resource)X
2426(limit,)X
2623(see)X
2753(section)X
3007(1.6.3.)X
3234(When)X
3453(the)X
3578(memory)X
3872(is)X
3952(no)X
576 5160(longer)N
801(critical)X
1044(it)X
1108(can)X
1240(be)X
1336(unlocked)X
1650(using:)X
864 5304(munlock\(addr,)N
1354(len\);)X
864 5400(caddr_t)N
1125(addr;)X
1310(size_t)X
1517(len;)X
8 s
10 f
576 5504(hhhhhhhhhhhhhhhhhh)N
1 f
576 5584(\262)N
625(The)X
741(entry)X
889(point)X
1038(for)X
1129(this)X
1239(system)X
1434(call)X
1543(is)X
1603(de\256ned,)X
1824(but)X
1923(is)X
1983(not)X
2082(implemented,)X
2449(so)X
2523(currently)X
2770(always)X
2964(returns)X
3158(with)X
3289(the)X
3385(error)X
3526(``Opera-)X
576 5664(tion)N
692(not)X
790(supported.'')X
11 p
%%Page: 11 9
8 s 8 xH 0 xS 1 f 1 i
10 s
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-11)X
576 672(After)N
768(the)X
2 f
888(munlock)X
1 f
1182(call,)X
1340(the)X
1460(pages)X
1665(in)X
1750(the)X
1871(speci\256ed)X
2179(address)X
2443(range)X
2645(are)X
2767(still)X
2909(accessible)X
3258(but)X
3383(may)X
3544(be)X
3643(paged)X
3858(out)X
3983(if)X
576 768(memory)N
863(is)X
936(needed)X
1184(and)X
1320(they)X
1478(are)X
1597(not)X
1719(accessed.)X
3 f
576 960(1.2.5.)N
796(Synchronization)X
1375(primitives)X
1 f
576 1084(Primitives)N
935(are)X
1065(provided)X
1381(for)X
1506(synchronization)X
2049(using)X
2253(semaphores)X
2663(in)X
2756(shared)X
2997(memory.\263)X
3355(These)X
3578(primitives)X
3933(are)X
576 1180(expected)N
891(to)X
982(be)X
1087(superseded)X
1473(by)X
1582(the)X
1709(semaphore)X
2086(interface)X
2397(being)X
2604(speci\256ed)X
2918(by)X
3027(the)X
3154(POSIX)X
3414(1003)X
3603(Pthread)X
3876(stan-)X
576 1276(dard.)N
783(They)X
972(are)X
1095(provided)X
1404(as)X
1495(an)X
1596(ef\256cient)X
1884(interim)X
2140(solution.)X
2462(Application)X
2865(programmers)X
3318(are)X
3442(encouraged)X
3838(to)X
3925(use)X
576 1372(the)N
694(Pthread)X
959(interface)X
1261(when)X
1455(it)X
1519(becomes)X
1820(available.)X
776 1496(Semaphores)N
1211(must)X
1409(lie)X
1532(within)X
1779(a)X
1858(MAP_SHARED)X
2434(region)X
2682(with)X
2867(at)X
2968(least)X
3158(modes)X
3410(PROT_READ)X
3916(and)X
576 1592(PROT_WRITE.)N
1157(The)X
1325(MAP_HASSEMAPHORE)X
2225(\257ag)X
2388(must)X
2586(have)X
2781(been)X
2976(speci\256ed)X
3304(when)X
3520(the)X
3660(region)X
3907(was)X
576 1688(created.)N
869(To)X
978(acquire)X
1235(a)X
1291(lock)X
1449(a)X
1505(process)X
1766(calls:)X
864 1832(value)N
1058(=)X
1123(mset\(sem,)X
1470(wait\);)X
864 1928(result)N
1062(int)X
1166(value;)X
1382(semaphore)X
1750(*sem;)X
1961(int)X
2065(wait;)X
2 f
576 2072(Mset)N
1 f
757(indivisibly)X
1123(tests)X
1290(and)X
1431(sets)X
1576(the)X
1699(semaphore)X
2 f
2072(sem)X
1 f
2197(.)X
2262(If)X
2341(the)X
2465(previous)X
2767(value)X
2967(is)X
3046(zero,)X
3231(the)X
3355(process)X
3622(has)X
3755(acquired)X
576 2168(the)N
695(lock)X
854(and)X
2 f
991(mset)X
1 f
1159(returns)X
1403(true)X
1549(immediately.)X
2010(Otherwise,)X
2381(if)X
2450(the)X
2 f
2568(wait)X
1 f
2725(\257ag)X
2865(is)X
2938(zero,)X
3117(failure)X
3347(is)X
3420(returned.)X
3748(If)X
2 f
3822(wait)X
1 f
3979(is)X
576 2264(true)N
721(and)X
857(the)X
975(previous)X
1271(value)X
1465(is)X
1538(non-zero,)X
2 f
1864(mset)X
1 f
2031(relinquishes)X
2438(the)X
2556(processor)X
2884(until)X
3050(noti\256ed)X
3314(that)X
3454(it)X
3518(should)X
3751(retry.)X
576 2388(To)N
685(release)X
929(a)X
985(lock)X
1143(a)X
1199(process)X
1460(calls:)X
864 2532(mclear\(sem\);)N
864 2628(semaphore)N
1232(*sem;)X
2 f
576 2772(Mclear)N
1 f
830(indivisibly)X
1193(tests)X
1357(and)X
1495(clears)X
1705(the)X
1825(semaphore)X
2 f
2195(sem)X
1 f
2320(.)X
2382(If)X
2459(the)X
2580(``WANT'')X
2952(\257ag)X
3095(is)X
3171(zero)X
3333(in)X
3418(the)X
3539(previous)X
3838(value,)X
2 f
576 2868(mclear)N
1 f
825(returns)X
1074(immediately.)X
1540(If)X
1620(the)X
1744(``WANT'')X
2119(\257ag)X
2265(is)X
2344(non-zero)X
2656(in)X
2744(the)X
2868(previous)X
3170(value,)X
2 f
3390(mclear)X
1 f
3639(arranges)X
3938(for)X
576 2964(waiting)N
836(processes)X
1164(to)X
1246(retry)X
1418(before)X
1644(returning.)X
776 3088(Two)N
946(routines)X
1227(provide)X
1495(services)X
1777(analogous)X
2125(to)X
2210(the)X
2331(kernel)X
2 f
2556(sleep)X
1 f
2745(and)X
2 f
2885(wakeup)X
1 f
3154(functions)X
3476(interpreted)X
3848(in)X
3934(the)X
576 3184(domain)N
847(of)X
945(shared)X
1186(memory.)X
1524(A)X
1613(process)X
1885(may)X
2054(relinquish)X
2405(the)X
2534(processor)X
2872(by)X
2982(calling)X
2 f
3230(msleep)X
1 f
3483(with)X
3655(a)X
3721(set)X
3840(sema-)X
576 3280(phore:)N
864 3424(msleep\(sem\);)N
864 3520(semaphore)N
1232(*sem;)X
576 3664(If)N
651(the)X
770(semaphore)X
1139(is)X
1213(still)X
1353(set)X
1463(when)X
1658(it)X
1723(is)X
1797(checked)X
2082(by)X
2183(the)X
2302(kernel,)X
2544(the)X
2663(process)X
2925(will)X
3070(be)X
3167(put)X
3290(in)X
3373(a)X
3430(sleeping)X
3718(state)X
3886(until)X
576 3760(some)N
765(other)X
950(process)X
1211(issues)X
1422(an)X
2 f
1518(mwakeup)X
1 f
1841(for)X
1955(the)X
2073(same)X
2258(semaphore)X
2626(within)X
2850(the)X
2968(region)X
3193(using)X
3386(the)X
3504(call:)X
864 3904(mwakeup\(sem\);)N
864 4000(semaphore)N
1232(*sem;)X
576 4144(An)N
2 f
694(mwakeup)X
1 f
1017(may)X
1175(awaken)X
1441(all)X
1541(sleepers)X
1820(on)X
1920(the)X
2038(semaphore,)X
2426(or)X
2513(may)X
2671(awaken)X
2937(only)X
3099(the)X
3217(next)X
3375(sleeper)X
3623(on)X
3723(a)X
3779(queue.)X
3 f
576 4336(1.3.)N
736(Signals)X
576 4584(1.3.1.)N
796(Overview)X
1 f
776 4736(The)N
922(system)X
1165(de\256nes)X
1413(a)X
1470(set)X
1580(of)X
2 f
1668(signals)X
1 f
1915(that)X
2056(may)X
2216(be)X
2314(delivered)X
2635(to)X
2719(a)X
2777(process.)X
3080(Signal)X
3306(delivery)X
3591(resembles)X
3934(the)X
576 4832 0.3611(occurrence)AN
954(of)X
1044(a)X
1103(hardware)X
1426(interrupt:)X
1747(the)X
1868(signal)X
2082(is)X
2158(blocked)X
2435(from)X
2614(further)X
2856 0.3250(occurrence,)AX
3253(the)X
3374(current)X
3625(process)X
3889(con-)X
576 4928(text)N
722(is)X
801(saved,)X
1030(and)X
1172(a)X
1234(new)X
1394(one)X
1537(is)X
1617(built.)X
1830(A)X
1915(process)X
2183(may)X
2348(specify)X
2607(a)X
2 f
2670(handler)X
1 f
2946(to)X
3035(which)X
3258(a)X
3321(signal)X
3539(is)X
3619(delivered,)X
3965(or)X
576 5024(specify)N
830(that)X
972(the)X
1092(signal)X
1305(is)X
1380(to)X
1464(be)X
2 f
1562(blocked)X
1 f
1834(or)X
2 f
1923(ignored)X
1 f
2172(.)X
2234(A)X
2314(process)X
2577(may)X
2737(also)X
2888(specify)X
3141(that)X
3282(a)X
2 f
3339(default)X
1 f
3582(action)X
3799(is)X
3873(to)X
3956(be)X
576 5120(taken)N
770(when)X
964(signals)X
1206(occur.)X
776 5244(Some)N
981(signals)X
1226(will)X
1373(cause)X
1575(a)X
1634(process)X
1898(to)X
1984(exit)X
2128(if)X
2201(they)X
2363(are)X
2486(not)X
2612(caught.)X
2890(This)X
3056(may)X
3218(be)X
3318(accompanied)X
3766(by)X
3870(crea-)X
576 5340(tion)N
734(of)X
835(a)X
2 f
904(core)X
1 f
1080(image)X
1309(\256le,)X
1464(containing)X
1835(the)X
1966(current)X
2227(memory)X
2527(image)X
2756(of)X
2856(the)X
2987(process)X
3261(for)X
3388(use)X
3528(in)X
3623(post-mortem)X
576 5436(debugging.)N
980(A)X
1064(process)X
1331(may)X
1495(also)X
1650(choose)X
1899(to)X
1987(have)X
2165(signals)X
2413(delivered)X
2738(on)X
2844(a)X
2907(special)X
3157(stack,)X
3369(so)X
3467(that)X
3614(sophisticated)X
576 5532(software)N
873(stack)X
1058(manipulations)X
1531(are)X
1650(possible.)X
8 s
10 f
576 5612(hhhhhhhhhhhhhhhhhh)N
1 f
576 5692(\263)N
624(All)X
722(currently)X
968(unimplemented,)X
1398(no)X
1478(entry)X
1625(points)X
1798(exists.)X
12 p
%%Page: 12 10
8 s 8 xH 0 xS 1 f 1 i
10 s
576 384(PSD:5-12)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
776 672(All)N
900(signals)X
1144(have)X
1318(the)X
1439(same)X
2 f
1627(priority)X
1 f
1871(.)X
1934(If)X
2011(multiple)X
2300(signals)X
2545(are)X
2667(pending,)X
2968(signals)X
3213(that)X
3356(may)X
3517(be)X
3616(generated)X
3952(by)X
576 768(the)N
701(program's)X
1058(action)X
1281(are)X
1407(delivered)X
1733(\256rst;)X
1906(the)X
2031(order)X
2228(in)X
2317(which)X
2540(other)X
2732(signals)X
2981(are)X
3107(delivered)X
3433(to)X
3522(a)X
3584(process)X
3851(is)X
3930(not)X
576 864(speci\256ed.)N
930(Signal)X
1163(routines)X
1450(execute)X
1725(with)X
1896(the)X
2023(signal)X
2243(that)X
2392(caused)X
2640(their)X
2816(invocation)X
2 f
3183(blocked)X
1 f
3433(,)X
3483(but)X
3615(other)X
3810(signals)X
576 960(may)N
741(occur.)X
987(Multiple)X
1289(signals)X
1538(may)X
1703(be)X
1806(delivered)X
2132(on)X
2239(a)X
2302(single)X
2520(entry)X
2712(to)X
2800(the)X
2924(system,)X
3192(as)X
3285(if)X
3360(signal)X
3577(handlers)X
3875(were)X
576 1056(interrupted)N
950(by)X
1052(other)X
1239(signal)X
1452(handlers.)X
1787(Mechanisms)X
2215(are)X
2337(provided)X
2645(whereby)X
2945(critical)X
3191(sections)X
3472(of)X
3562(code)X
3737(may)X
3898(pro-)X
576 1152(tect)N
712(themselves)X
1088(against)X
1335(the)X
1453 0.3611(occurrence)AX
1827(of)X
1914(speci\256ed)X
2219(signals.)X
3 f
576 1344(1.3.2.)N
796(Signal)X
1028(types)X
1 f
776 1496(The)N
924(signals)X
1170(de\256ned)X
1430(by)X
1534(the)X
1656(system)X
1902(fall)X
2033(into)X
2181(one)X
2321(of)X
2412(\256ve)X
2556(classes:)X
2825(hardware)X
3149(conditions,)X
3526(software)X
3827(condi-)X
576 1592(tions,)N
773(input/output)X
1185(noti\256cation,)X
1591(process)X
1854(control,)X
2122(or)X
2210(resource)X
2504(control.)X
2792(The)X
2938(set)X
3048(of)X
3136(signals)X
3379(is)X
3453(de\256ned)X
3710(by)X
3811(the)X
3930(\256le)X
2 f
576 1688(<signal.h>)N
1 f
939(.)X
776 1812(Hardware)N
1117(signals)X
1362(are)X
1484(derived)X
1748(from)X
1927(exceptional)X
2321(conditions)X
2678(which)X
2898(may)X
3060(occur)X
3263(during)X
3496(execution.)X
3872(Such)X
576 1908(signals)N
833(include)X
1104(SIGFPE)X
1404(representing)X
1835(\257oating)X
2113(point)X
2311(and)X
2461(other)X
2660(arithmetic)X
3019(exceptions,)X
3416(SIGILL)X
3704(for)X
3832(illegal)X
576 2004(instruction)N
949(execution,)X
1312(SIGSEGV)X
1681(for)X
1806(attempts)X
2108(to)X
2201(access)X
2438(addresses)X
2777(outside)X
3039(the)X
3168(currently)X
3490(assigned)X
3798(area)X
3965(of)X
576 2100(memory,)N
883(and)X
1019(SIGBUS)X
1323(for)X
1437(accesses)X
1730(that)X
1870(violate)X
2108(memory)X
2395(access)X
2621(constraints.)X
776 2224(Software)N
1087(signals)X
1330(re\257ect)X
1553(interrupts)X
1882(generated)X
2217(by)X
2319(user)X
2475(request:)X
2751(SIGINT)X
3036(for)X
3152(the)X
3272(normal)X
3521(interrupt)X
3819(signal;)X
576 2320(SIGQUIT)N
918(for)X
1033(the)X
1152(more)X
1338(powerful)X
2 f
1649(quit)X
1 f
1793(signal,)X
2024(which)X
2240(normally)X
2549(causes)X
2779(a)X
2835(core)X
2994(image)X
3210(to)X
3292(be)X
3388(generated;)X
3743(SIGHUP)X
576 2416(and)N
713(SIGTERM)X
1085(that)X
1226(cause)X
1426(graceful)X
1711(process)X
1973(termination,)X
2383(either)X
2587(because)X
2863(a)X
2921(user)X
3077(has)X
3206(``hung)X
3442(up'',)X
3618(or)X
3707(by)X
3809(user)X
3965(or)X
576 2512(program)N
885(request;)X
1176(and)X
1329(SIGKILL,)X
1697(a)X
1769(more)X
1970(powerful)X
2296(termination)X
2701(signal)X
2928(which)X
3160(a)X
3232(process)X
3509(cannot)X
3759(catch)X
3965(or)X
576 2608(ignore.)N
860(Programs)X
1207(may)X
1385(de\256ne)X
1621(their)X
1808(own)X
1986(asynchronous)X
2467(events)X
2712(using)X
2925(SIGUSR1)X
3289(and)X
3445(SIGUSR2.)X
3849(Other)X
576 2704(software)N
874(signals)X
1117(\(SIGALRM,)X
1545(SIGVTALRM,)X
2053(SIGPROF\))X
2429(indicate)X
2704(the)X
2823(expiration)X
3169(of)X
3257(interval)X
3523(timers.)X
3784(When)X
3996(a)X
576 2800(window)N
854(changes)X
1133(size,)X
1298(a)X
1354(SIGWINCH)X
1775(is)X
1848(sent)X
1997(to)X
2079(the)X
2197(controlling)X
2568(terminal)X
2855(process)X
3116(group.)X
776 2924(A)N
858(process)X
1123(can)X
1259(request)X
1515(noti\256cation)X
1903(via)X
2025(a)X
2085(SIGIO)X
2323(signal)X
2538(when)X
2736(input)X
2924(or)X
3015(output)X
3243(is)X
3320(possible)X
3607(on)X
3712(a)X
3773(descrip-)X
576 3020(tor,)N
718(or)X
818(when)X
1025(a)X
2 f
1094(non-blocking)X
1 f
1550(operation)X
1886(completes.)X
2284(A)X
2375(process)X
2649(may)X
2820(request)X
3084(to)X
3178(receive)X
3443(a)X
3511(SIGURG)X
3841(signal)X
576 3116(when)N
770(an)X
866(urgent)X
1091(condition)X
1413(arises.)X
776 3240(A)N
856(process)X
1119(may)X
1279(be)X
2 f
1378(stopped)X
1 f
1650(by)X
1753(a)X
1812(signal)X
2026(sent)X
2178(to)X
2263(it)X
2330(or)X
2420(the)X
2541(members)X
2858(of)X
2948(its)X
3046(process)X
3310(group.)X
3560(The)X
3708(SIGSTOP)X
576 3336(signal)N
791(is)X
868(a)X
928(powerful)X
1242(stop)X
1399(signal,)X
1634(because)X
1913(it)X
1981(cannot)X
2219(be)X
2319(caught.)X
2596(Other)X
2802(stop)X
2958(signals)X
3203(SIGTSTP,)X
3561(SIGTTIN,)X
3916(and)X
576 3432(SIGTTOU)N
939(are)X
1058(used)X
1225(when)X
1419(a)X
1475(user)X
1629(request,)X
1901(input)X
2085(request,)X
2358(or)X
2446(output)X
2671(request)X
2924(respectively)X
3333(is)X
3407(the)X
3526(reason)X
3757(for)X
3872(stop-)X
576 3528(ping)N
753(the)X
886(process.)X
1202(A)X
1295(SIGCONT)X
1677(signal)X
1903(is)X
1991(sent)X
2155(to)X
2252(a)X
2323(process)X
2599(when)X
2807(it)X
2885(is)X
2972(continued)X
3322(from)X
3512(a)X
3582(stopped)X
3865(state.)X
576 3624(Processes)N
914(may)X
1078(receive)X
1337(noti\256cation)X
1727(with)X
1895(a)X
1957(SIGCHLD)X
2330(signal)X
2547(when)X
2747(a)X
2809(child)X
2995(process)X
3262(changes)X
3548(state,)X
3742(either)X
3952(by)X
576 3720(stopping)N
871(or)X
958(by)X
1058(terminating.)X
776 3844(Exceeding)N
1148(resource)X
1454(limits)X
1668(may)X
1839(cause)X
2051(signals)X
2306(to)X
2401(be)X
2510(generated.)X
2896(SIGXCPU)X
3271(occurs)X
3514(when)X
3721(a)X
3791(process)X
576 3940(nears)N
766(its)X
861(CPU)X
1036(time)X
1198(limit)X
1368(and)X
1504(SIGXFSZ)X
1848(when)X
2042(a)X
2098(process)X
2359(reaches)X
2621(the)X
2739(limit)X
2909(on)X
3009(\256le)X
3131(size.)X
3 f
576 4132(1.3.3.)N
796(Signal)X
1028(handlers)X
1 f
776 4284(A)N
866(process)X
1139(has)X
1278(a)X
1346(handler)X
1620(associated)X
1983(with)X
2158(each)X
2339(signal.)X
2603(The)X
2761(handler)X
3035(controls)X
3326(the)X
3457(way)X
3624(the)X
3755(signal)X
3979(is)X
576 4380(delivered.)N
935(The)X
1080(call:)X
864 4572(struct)N
1062(sigaction)X
1371({)X
1044 4668(void)N
1408(\(*sa_handler\)\(\);)X
1044 4764(sigset_t)N
1408(sa_mask;)X
1044 4860(int)N
1408(sa_\257ags;)X
864 4956(};)N
864 5196(sigaction\(signo,)N
1393(sa,)X
1500(osa\);)X
864 5292(int)N
968(signo;)X
1183(struct)X
1381(sigaction)X
1690(*sa;)X
1839(result)X
2037(struct)X
2235(sigaction)X
2544(*osa;)X
576 5436(assigns)N
827(interrupt)X
1123(handler)X
1384(address)X
2 f
1645(sa_handler)X
1 f
2025(to)X
2108(signal)X
2 f
2320(signo)X
1 f
2493(.)X
2554(Each)X
2736(handler)X
2998(address)X
3260(speci\256es)X
3557(either)X
3761(an)X
3858(inter-)X
576 5532(rupt)N
728(routine)X
977(for)X
1093(the)X
1213(signal,)X
1446(that)X
1588(the)X
1708(signal)X
1921(is)X
1996(to)X
2080(be)X
2178(ignored,)X
2465(or)X
2554(that)X
2696(a)X
2754(default)X
2999(action)X
3217(\(usually)X
3497(process)X
3760(termina-)X
576 5628(tion\))N
749(is)X
824(to)X
908(occur)X
1109(if)X
1180(the)X
1300(signal)X
1513(occurs.)X
1785(The)X
1932(constants)X
2252(SIG_IGN)X
2586(and)X
2724(SIG_DFL)X
3067(used)X
3237(as)X
3327(values)X
3555(for)X
2 f
3672(sa_handler)X
1 f
576 5724(cause)N
781(ignoring)X
1078(or)X
1171(defaulting)X
1522(of)X
1615(a)X
1677(condition,)X
2025(respectively.)X
2479(The)X
2 f
2630(sa_mask)X
1 f
2932(value)X
3132(speci\256es)X
3434(the)X
3558(signal)X
3775(mask)X
3970(to)X
576 5820(be)N
679(used)X
853(when)X
1054(the)X
1179(handler)X
1447(is)X
1527(invoked;)X
1834(it)X
1905(implicitly)X
2243(includes)X
2538(the)X
2664(signal)X
2883(which)X
3107(invoked)X
3393(the)X
3519(handler.)X
3828(Signal)X
13 p
%%Page: 13 11
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-13)X
576 672(masks)N
803(include)X
1066(one)X
1209(bit)X
1320(for)X
1441(each)X
1616(signal.)X
1874(The)X
2026(following)X
2364(macros,)X
2643(de\256ned)X
2906(in)X
2 f
2995(signal.h)X
1 f
3250(,)X
3296(create)X
3515(an)X
3617(empty)X
3843(mask,)X
576 768(then)N
734(put)X
2 f
856(signo)X
1 f
1049(into)X
1193(it:)X
864 912(sigemptyset\(set\);)N
864 1008(sigaddset\(set,)N
1318(signo\);)X
864 1104(result)N
1062(sigset_t)X
1326(*set;)X
1497(int)X
1601(signo;)X
2 f
576 1248(Sa_\257ags)N
1 f
897(speci\256es)X
1223(whether)X
1532(pending)X
1840(system)X
2112(calls)X
2309(should)X
2572(be)X
2698(restarted)X
3026(if)X
3126(the)X
3275(signal)X
3517(handler)X
3809(returns)X
576 1344(\(SA_RESTART\))N
1153(and)X
1295(whether)X
1580(the)X
1703(handler)X
1969(should)X
2207(operate)X
2469(on)X
2574(the)X
2697(normal)X
2949(run-time)X
3250(stack)X
3440(or)X
3532(a)X
3593(special)X
3841(signal)X
576 1440(stack)N
761(\(SA_ONSTACK;)X
1350(see)X
1473(below\).)X
1756(If)X
2 f
1830(osa)X
1 f
1961(is)X
2034(non-zero,)X
2360(the)X
2478(previous)X
2774(signal)X
2985(handler)X
3246(information)X
3644(is)X
3717(returned.)X
776 1564(When)N
994(a)X
1056(signal)X
1273(condition)X
1601(arises)X
1810(for)X
1930(a)X
1992(process,)X
2279(the)X
2403(signal)X
2620(is)X
2699(added)X
2917(to)X
3006(a)X
3069(set)X
3185(of)X
3279(signals)X
3528(pending)X
3813(for)X
3934(the)X
576 1660(process.)N
881(If)X
959(the)X
1081(signal)X
1296(is)X
1373(not)X
1499(currently)X
2 f
1813(blocked)X
1 f
2086(by)X
2189(the)X
2310(process)X
2574(it)X
2641(then)X
2802(will)X
2949(be)X
3048(delivered.)X
3410(The)X
3558(process)X
3822(of)X
3912(sig-)X
576 1756(nal)N
702(delivery)X
993(adds)X
1168(the)X
1294(signal)X
1513(to)X
1603(be)X
1707(delivered)X
2034(and)X
2178(those)X
2375(signals)X
2625(speci\256ed)X
2938(in)X
3028(the)X
3154(associated)X
3513(signal)X
3733(handler's)X
2 f
576 1852(sa_mask)N
1 f
875(to)X
960(a)X
1019(set)X
1131(of)X
1221(those)X
2 f
1413(masked)X
1 f
1677(for)X
1794(the)X
1915(process,)X
2199(saves)X
2396(the)X
2517(current)X
2768(process)X
3032(context,)X
3310(and)X
3448(places)X
3671(the)X
3791(process)X
576 1948(in)N
668(the)X
796(context)X
1062(of)X
1159(the)X
1287(signal)X
1508(handling)X
1818(routine.)X
2115(The)X
2270(call)X
2416(is)X
2499(arranged)X
2811(so)X
2912(that)X
3063(if)X
3143(the)X
3272(signal)X
3494(handling)X
3805(routine)X
576 2044(returns)N
829(normally,)X
1168(the)X
1296(signal)X
1517(mask)X
1716(will)X
1870(be)X
1976(restored)X
2265(and)X
2411(the)X
2539(process)X
2810(will)X
2963(resume)X
3224(execution)X
3565(in)X
3656(the)X
3783(original)X
576 2140(context.)N
776 2264(The)N
932(mask)X
1132(of)X
2 f
1230(blocked)X
1 f
1511(signals)X
1764(is)X
1848(independent)X
2271(of)X
2370(handlers)X
2674(for)X
2800(signals.)X
3094(It)X
3175(delays)X
3412(signals)X
3666(from)X
3854(being)X
576 2360(delivered)N
909(much)X
1121(as)X
1222(a)X
1292(raised)X
1518(hardware)X
1852(interrupt)X
2162(priority)X
2436(level)X
2625(delays)X
2863(hardware)X
3196(interrupts.)X
3576(Preventing)X
3956(an)X
576 2456(interrupt)N
872(from)X
1048(occurring)X
1376(by)X
1476(changing)X
1790(the)X
1908(handler)X
2169(is)X
2242(analogous)X
2587(to)X
2669(disabling)X
2982(a)X
3038(device)X
3268(from)X
3444(further)X
3683(interrupts.)X
576 2580(The)N
721(signal)X
932(handling)X
1232(routine)X
2 f
1479(sa_handler)X
1 f
1859(is)X
1932(called)X
2144(by)X
2244(a)X
2300(C)X
2373(call)X
2509(of)X
2596(the)X
2714(form:)X
864 2724(\(*sa_handler\)\(signo,)N
1546(code,)X
1738(scp\);)X
864 2820(int)N
968(signo;)X
1183(long)X
1345(code;)X
1539(struct)X
1737(sigcontext)X
2086(*scp;)X
576 2964(The)N
2 f
722(signo)X
1 f
917(gives)X
1108(the)X
1228(number)X
1495(of)X
1584(the)X
1704(signal)X
1917(that)X
2059(occurred,)X
2383(and)X
2521(the)X
2 f
2641(code)X
1 f
2793(,)X
2835(a)X
2893(word)X
3080(of)X
3169(signal-speci\256c)X
3654(information)X
576 3060(supplied)N
871(by)X
975(the)X
1097(hardware.)X
1461(The)X
2 f
1610(scp)X
1 f
1741(parameter)X
2087(is)X
2164(a)X
2223(pointer)X
2473(to)X
2558(a)X
2617(machine-dependent)X
3269(structure)X
3573(containing)X
3934(the)X
576 3156(information)N
974(for)X
1088(restoring)X
1393(the)X
1511(context)X
1767(before)X
1993(the)X
2111(signal.)X
2362(Normally)X
2689(this)X
2824(context)X
3080(will)X
3224(be)X
3320(restored)X
3599(when)X
3793(the)X
3912(sig-)X
576 3252(nal)N
694(handler)X
955(returns.)X
1238(However,)X
1573(a)X
1629(process)X
1890(may)X
2048(do)X
2148(so)X
2239(at)X
2317(any)X
2453(time)X
2615(by)X
2715(using)X
2908(the)X
3026(call:)X
864 3396(sigreturn\(scp\);)N
864 3492(struct)N
1062(sigcontext)X
1411(*scp;)X
576 3636(If)N
657(the)X
782(signal)X
1000(handler)X
1269(makes)X
1502(a)X
1566(call)X
1710(to)X
2 f
1800(longjmp)X
1 f
2062(,)X
2110(the)X
2236(signal)X
2455(mask)X
2652(at)X
2738(the)X
2864(time)X
3034(of)X
3129(the)X
3255(corresponding)X
2 f
3742(setjmp)X
1 f
3979(is)X
576 3732(restored.)N
3 f
576 3924(1.3.4.)N
796(Sending)X
1090(signals)X
1 f
576 4076(A)N
654(process)X
915(can)X
1047(send)X
1214(a)X
1270(signal)X
1481(to)X
1563(another)X
1824(process)X
2085(or)X
2172(processes)X
2500(group)X
2707(with)X
2869(the)X
2987(call:)X
864 4220(kill\(pid,)N
1139(signo\))X
864 4316(pid_t)N
1048(pid;)X
1192(int)X
1296(signo;)X
576 4460(For)N
707(compatibility)X
1153(with)X
1315(old)X
1437(systems,)X
1730(a)X
1786(compatibility)X
2232(routine)X
2479(is)X
2552(provided)X
2857(to)X
2939(send)X
3106(a)X
3162(signal)X
3373(to)X
3455(a)X
3511(process)X
3772(group:)X
864 4604(killpg\(pgrp,)N
1264(signo\))X
864 4700(pid_t)N
1048(pgrp;)X
1237(int)X
1341(signo;)X
576 4844(Unless)N
819(the)X
942(process)X
1208(sending)X
1483(the)X
1607(signal)X
1824(is)X
1903(privileged,)X
2274(it)X
2344(must)X
2525(have)X
2703(the)X
2827(same)X
3018(effective)X
3326(user)X
3486(id)X
3574(as)X
3667(the)X
3791(process)X
576 4940(receiving)N
895(the)X
1013(signal.)X
776 5064(Signals)N
1031(also)X
1180(are)X
1299(sent)X
1448(implicitly)X
1778(from)X
1955(a)X
2012(terminal)X
2300(device)X
2531(to)X
2614(the)X
2733(process)X
2995(group)X
3203(associated)X
3554(with)X
3717(the)X
3836(termi-)X
576 5160(nal)N
694(when)X
888(certain)X
1127(input)X
1311(characters)X
1658(are)X
1777(typed.)X
3 f
576 5352(1.3.5.)N
796(Protecting)X
1173(critical)X
1434(sections)X
1 f
576 5504(The)N
2 f
721(sigprocmask)X
1 f
1146(system)X
1388(call)X
1524(is)X
1597(used)X
1764(to)X
1846(manipulate)X
2222(the)X
2340(mask)X
2529(of)X
2616(blocked)X
2890(signals:)X
864 5648(sigprocmask\(how,)N
1474(newmask,)X
1817(oldmask\);)X
864 5744(int)N
968(how;)X
1148(sigset_t)X
1412(*newmask;)X
1797(result)X
1995(sigset_t)X
2259(*oldmask;)X
14 p
%%Page: 14 12
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-14)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
576 672(The)N
726(actions)X
978(done)X
1159(by)X
2 f
1264(sigprocmask)X
1 f
1694(are)X
1818(to)X
1905(add)X
2047(to)X
2135(the)X
2259(list)X
2382(of)X
2475(masked)X
2746(signals)X
2994(\(SIG_BLOCK\),)X
3534(delete)X
3752(from)X
3934(the)X
576 768(list)N
699(of)X
792(masked)X
1063(signals)X
1311(\(SIG_UNBLOCK\),)X
1967(and)X
2109(block)X
2313(a)X
2375(speci\256c)X
2646(set)X
2761(of)X
2854(signals)X
3101(\(SIG_SETMASK\).)X
3762(The)X
2 f
3912(sig-)X
576 864(procmask)N
1 f
908(call)X
1044(can)X
1176(be)X
1272(used)X
1439(to)X
1521(read)X
1680(the)X
1798(current)X
2046(mask)X
2235(by)X
2335(specifying)X
2689(SIG_BLOCK)X
3149(with)X
3311(an)X
3407(empty)X
2 f
3627(newmask)X
1 f
3934(.)X
776 988(It)N
851(is)X
930(possible)X
1218(to)X
1306(check)X
1520(conditions)X
1879(with)X
2047(some)X
2242(signals)X
2490(blocked,)X
2790(and)X
2932(then)X
3096(to)X
3184(pause)X
3393(waiting)X
3659(for)X
3779(a)X
3841(signal)X
576 1084(and)N
712(restoring)X
1017(the)X
1135(mask,)X
1344(by)X
1444(using:)X
864 1228(sigsuspend\(mask\);)N
864 1324(sigset_t)N
1128(*mask;)X
576 1468(It)N
645(is)X
718(also)X
867(possible)X
1149(to)X
1231(\256nd)X
1375(out)X
1497(which)X
1713(blocked)X
1987(signals)X
2229(are)X
2348(pending)X
2626(delivery)X
2909(using)X
3102(the)X
3220(call:)X
864 1612(sigpending\(mask\);)N
864 1708(result)N
1062(sigset_t)X
1326(*mask;)X
3 f
576 1948(1.3.6.)N
796(Signal)X
1028(stacks)X
1 f
576 2100(Applications)N
1005(that)X
1145(maintain)X
1445(complex)X
1741(or)X
1828(\256xed)X
2008(size)X
2153(stacks)X
2369(can)X
2501(use)X
2628(the)X
2746(call:)X
864 2292(struct)N
1062(sigaltstack)X
1420({)X
1044 2388(caddr_t)N
1405(ss_sp;)X
1044 2484(long)N
1405(ss_size;)X
1044 2580(int)N
1405(ss_\257ags;)X
864 2676(};)N
864 2916(sigaltstack\(ss,)N
1331(oss\))X
864 3012(struct)N
1062(sigaltstack)X
1420(*ss;)X
1564(result)X
1762(struct)X
1960(sigaltstack)X
2318(*oss;)X
576 3156(to)N
660(provide)X
927(the)X
1047(system)X
1291(with)X
1455(a)X
1513(stack)X
1700(based)X
1905(at)X
2 f
1985(ss_sp)X
1 f
2180(of)X
2269(size)X
2 f
2416(ss_size)X
1 f
2660(for)X
2776(delivery)X
3061(of)X
3150(signals.)X
3434(The)X
3582(value)X
2 f
3779(ss_\257ags)X
1 f
576 3252(indicates)N
887(whether)X
1172(the)X
1296(process)X
1563(is)X
1642(currently)X
1958(on)X
2064(the)X
2188(signal)X
2405(stack,)X
2615(a)X
2676(notion)X
2905(maintained)X
3286(in)X
3373(software)X
3675(by)X
3780(the)X
3903(sys-)X
576 3348(tem.)N
776 3472(When)N
991(a)X
1050(signal)X
1264(is)X
1340(to)X
1425(be)X
1524(delivered)X
1847(to)X
1933(a)X
1993(handler)X
2258(for)X
2376(which)X
2596(the)X
2718(SA_ONSTACK)X
3262(\257ag)X
3406(was)X
3555(set,)X
3688(the)X
3810(system)X
576 3568(checks)N
819(whether)X
1102(the)X
1224(process)X
1489(is)X
1566(on)X
1670(a)X
1730(signal)X
1945(stack.)X
2174(If)X
2252(not,)X
2398(then)X
2560(the)X
2682(process)X
2946(is)X
3022(switched)X
3330(to)X
3415(the)X
3536(signal)X
3750(stack)X
3938(for)X
576 3664(delivery,)N
879(with)X
1041(the)X
1159(return)X
1371(from)X
1547(the)X
1665(signal)X
1876(doing)X
2078(a)X
2 f
2134(sigreturn)X
1 f
2447(to)X
2529(restore)X
2769(the)X
2888(previous)X
3185(stack.)X
3411(If)X
3486(the)X
3605(process)X
3867(takes)X
576 3760(a)N
642(non-local)X
975(exit)X
1125(from)X
1311(the)X
1439(signal)X
1660(routine,)X
2 f
1937(longjmp)X
1 f
2229(will)X
2383(do)X
2493(a)X
2 f
2559(sigreturn)X
1 f
2882(call)X
3028(to)X
3119(switch)X
3357(back)X
3538(to)X
3629(the)X
3756(run-time)X
576 3856(stack.)N
3 f
576 4048(1.4.)N
736(Timers)X
576 4268(1.4.1.)N
796(Real)X
972(time)X
1 f
776 4420(The)N
927(system's)X
1233(notion)X
1463(of)X
1556(the)X
1680(current)X
1934(time)X
2102(is)X
2181(in)X
2270(Coordinated)X
2693(Universal)X
3032(Time)X
3228(\(UTC,)X
3462(previously)X
3827(GMT\))X
576 4516(and)N
712(the)X
830(current)X
1078(time)X
1240(zone)X
1412(is)X
1485(set)X
1594(and)X
1730(returned)X
2018(by)X
2118(the)X
2236(calls:)X
864 4660(settimeofday\(tp,)N
1407(tzp\);)X
864 4756(struct)N
1062(timeval)X
1322(*tp;)X
864 4852(struct)N
1062(timezone)X
1376(*tzp;)X
864 5044(gettimeofday\(tp,)N
1416(tzp\);)X
864 5140(result)N
1062(struct)X
1260(timeval)X
1520(*tp;)X
864 5236(result)N
1062(struct)X
1260(timezone)X
1574(*tzp;)X
576 5380(where)N
793(the)X
911(structures)X
1243(are)X
1362(de\256ned)X
1618(in)X
2 f
1700(<sys/time.h>)X
1 f
2146(as:)X
15 p
%%Page: 15 13
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-15)X
864 768(struct)N
1062(timeval)X
1322({)X
1044 864(long)N
1306(tv_sec;)X
1946(/*)X
2028(seconds)X
2302(since)X
2487(Jan)X
2614(1,)X
2694(1970)X
2874(*/)X
1044 960(long)N
1306(tv_usec;)X
1946(/*)X
2028(and)X
2164(microseconds)X
2625(*/)X
864 1056(};)N
864 1152(struct)N
1062(timezone)X
1376({)X
1044 1248(int)N
1306(tz_minuteswest;)X
1946(/*)X
2028(of)X
2115(Greenwich)X
2488(*/)X
1044 1344(int)N
1306(tz_dsttime;)X
1946(/*)X
2028(type)X
2186(of)X
2273(dst)X
2386(correction)X
2732(to)X
2814(apply)X
3012(*/)X
864 1440(};)N
576 1632(The)N
721(timezone)X
1035(information)X
1433(is)X
1506(present)X
1758(only)X
1920(for)X
2034(historical)X
2352(reasons)X
2613(and)X
2749(is)X
2822(unused)X
3069(by)X
3169(the)X
3287(current)X
3535(system.)X
576 1756(The)N
728(precision)X
1049(of)X
1143(the)X
1268(system)X
1517(clock)X
1718(is)X
1799(hardware)X
2127(dependent.)X
2525(Earlier)X
2772(versions)X
3067(of)X
3162(UNIX)X
3391(contained)X
3731(only)X
3901(a)X
3965(1-)X
576 1852(second)N
819(resolution)X
1159(version)X
1415(of)X
1502(this)X
1637(call,)X
1793(which)X
2009(remains)X
2283(as)X
2370(a)X
2426(library)X
2660(routine:)X
864 1996(time\(tvsec\);)N
864 2092(result)N
1062(time_t)X
1286(*tvsec;)X
576 2236(returning)N
890(only)X
1052(the)X
1170(tv_sec)X
1395(\256eld)X
1557(from)X
1733(the)X
2 f
1851(gettimeofday)X
1 f
2285(call.)X
576 2360(The)N
2 f
727(adjtime)X
1 f
993(system)X
1241(calls)X
1414(allows)X
1649(for)X
1769(small)X
1968(changes)X
2253(in)X
2342(time)X
2511(without)X
2782(abrupt)X
3014(changes)X
3300(by)X
3407(skewing)X
3701(the)X
3826(rate)X
3974(at)X
576 2456(which)N
792(time)X
954(advances:)X
864 2600(adjtime\(delta,)N
1327(olddelta\);)X
864 2696(struct)N
1062(timeval)X
1322(*delta;)X
1560(result)X
1758(struct)X
1956(timeval)X
2216(*olddelta;)X
3 f
576 2936(1.4.2.)N
796(Interval)X
1092(time)X
1 f
576 3088(The)N
721(system)X
963(provides)X
1259(each)X
1427(process)X
1688(with)X
1850(three)X
2031(interval)X
2296(timers,)X
2536(de\256ned)X
2792(in)X
2 f
2874(<sys/time.h>)X
1 f
3300(:)X
864 3280(ITIMER_REAL)N
1652(/*)X
1734(real)X
1875(time)X
2037(intervals)X
2333(*/)X
864 3376(ITIMER_VIRTUAL)N
1652(/*)X
1734(virtual)X
1963(time)X
2125(intervals)X
2421(*/)X
864 3472(ITIMER_PROF)N
1652(/*)X
1734(user)X
1888(and)X
2024(system)X
2266(virtual)X
2495(time)X
2657(*/)X
576 3664(The)N
731(ITIMER_REAL)X
1286(timer)X
1485(decrements)X
1881(in)X
1973(real)X
2124(time.)X
2337(It)X
2417(could)X
2626(be)X
2733(used)X
2911(by)X
3022(a)X
3089(library)X
3334(routine)X
3592(to)X
3685(maintain)X
3996(a)X
576 3760(wakeup)N
846(service)X
1094(queue.)X
1346(A)X
1424(SIGALRM)X
1804(signal)X
2015(is)X
2088(delivered)X
2407(when)X
2601(this)X
2736(timer)X
2925(expires.)X
776 3884(The)N
925(ITIMER_VIRTUAL)X
1617(timer)X
1810(decrements)X
2200(in)X
2286(process)X
2551(virtual)X
2784(time.)X
2990(It)X
3063(runs)X
3225(only)X
3391(when)X
3590(the)X
3713(process)X
3979(is)X
576 3980(executing.)N
948(A)X
1026(SIGVTALRM)X
1513(signal)X
1724(is)X
1797(delivered)X
2116(when)X
2310(it)X
2374(expires.)X
776 4104(The)N
927(ITIMER_PROF)X
1468(timer)X
1663(decrements)X
2055(both)X
2223(in)X
2312(process)X
2580(virtual)X
2816(time)X
2985(and)X
3128(when)X
3329(the)X
3454(system)X
3703(is)X
3783(running)X
576 4200(on)N
683(behalf)X
911(of)X
1005(the)X
1130(process.)X
1438(It)X
1514(is)X
1594(designed)X
1906(to)X
1995(be)X
2097(used)X
2270(by)X
2376(processes)X
2710(to)X
2798(statistically)X
3188(pro\256le)X
3423(their)X
3596(execution.)X
3974(A)X
576 4296(SIGPROF)N
924(signal)X
1135(is)X
1208(delivered)X
1527(when)X
1721(it)X
1785(expires.)X
576 4420(A)N
654(timer)X
843(value)X
1037(is)X
1110(de\256ned)X
1366(by)X
1466(the)X
2 f
1584(itimerval)X
1 f
1893(structure:)X
864 4612(struct)N
1062(itimerval)X
1371({)X
1044 4708(struct)N
1342(timeval)X
1602(it_interval;)X
2073(/*)X
2155(timer)X
2344(interval)X
2609(*/)X
1044 4804(struct)N
1342(timeval)X
1602(it_value;)X
2073(/*)X
2155(current)X
2403(value)X
2597(*/)X
864 4900(};)N
576 5092(and)N
712(a)X
768(timer)X
957(is)X
1030(set)X
1139(or)X
1226(read)X
1385(by)X
1485(the)X
1603(call:)X
864 5236(setitimer\(which,)N
1407(value,)X
1621(ovalue\);)X
864 5332(int)N
968(which;)X
1206(struct)X
1404(itimerval)X
1713(*value;)X
1969(result)X
2167(struct)X
2365(itimerval)X
2674(*ovalue;)X
864 5524(getitimer\(which,)N
1416(value\);)X
864 5620(int)N
968(which;)X
1206(result)X
1404(struct)X
1602(itimerval)X
1911(*value;)X
576 5764(The)N
2 f
726(it_value)X
1 f
1009(speci\256es)X
1310(the)X
1433(time)X
1600(until)X
1771(the)X
1894(next)X
2057(signal;)X
2295(the)X
2 f
2418(it_interval)X
1 f
2776(speci\256es)X
3078(a)X
3140(new)X
3300(interval)X
3571(that)X
3717(should)X
3956(be)X
16 p
%%Page: 16 14
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-16)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
576 672(loaded)N
814(into)X
962(the)X
1084(timer)X
1277(on)X
1381(each)X
1553(expiration.)X
1942(The)X
2091(third)X
2266(argument)X
2593(to)X
2 f
2679(setitimer)X
1 f
2983(speci\256es)X
3282(an)X
3381(optional)X
3666(structure)X
3970(to)X
576 768(receive)N
847(the)X
983(previous)X
1297(contents)X
1602(of)X
1707(the)X
1843(interval)X
2126(timer.)X
2373(A)X
2469(timer)X
2676(can)X
2827(be)X
2942(disabled)X
3248(by)X
3367(setting)X
2 f
3619(it_value)X
1 f
3916(and)X
2 f
576 864(it_interval)N
1 f
929(to)X
1011(0.)X
776 988(The)N
921(system)X
1163(rounds)X
1402(argument)X
1726(timer)X
1916(intervals)X
2213(to)X
2296(be)X
2393(not)X
2516(less)X
2657(than)X
2816(the)X
2935(resolution)X
3276(of)X
3364(its)X
3460(clock.)X
3695(This)X
3858(clock)X
576 1084(resolution)N
921(can)X
1058(be)X
1159(determined)X
1545(by)X
1650(loading)X
1915(a)X
1976(very)X
2144(small)X
2342(value)X
2541(into)X
2690(a)X
2751(timer)X
2945(and)X
3086(reading)X
3352(the)X
3474(timer)X
3667(back)X
3843(to)X
3929(see)X
576 1180(what)N
752(value)X
946(resulted.)X
776 1304(The)N
2 f
941(alarm)X
1 f
1172(system)X
1434(call)X
1590(of)X
1697(earlier)X
1943(versions)X
2250(of)X
2357(UNIX)X
2598(is)X
2691(provided)X
3016(as)X
3123(a)X
3199(library)X
3453(routine)X
3720(using)X
3934(the)X
576 1400(ITIMER_REAL)N
1121(timer.)X
776 1524(The)N
925(process)X
1190(pro\256ling)X
1489(facilities)X
1789(of)X
1880(earlier)X
2110(versions)X
2402(of)X
2494(UNIX)X
2720(remain)X
2968(because)X
3248(it)X
3317(is)X
3395(not)X
3522(always)X
3770(possible)X
576 1620(to)N
663(guarantee)X
1001(the)X
1124(automatic)X
1465(restart)X
1691(of)X
1783(system)X
2030(calls)X
2202(after)X
2375(receipt)X
2619(of)X
2711(a)X
2772(signal.)X
3028(The)X
2 f
3178(pro\256l)X
1 f
3376(call)X
3517(arranges)X
3815(for)X
3934(the)X
576 1716(kernel)N
797(to)X
879(begin)X
1077(gathering)X
1400(execution)X
1732(statistics)X
2027(for)X
2141(a)X
2197(process:)X
864 1860(pro\256l\(samples,)N
1362(size,)X
1527(offset,)X
1750(scale\);)X
864 1956(result)N
1062(char)X
1221(*samples;)X
1561(int)X
1665(size,)X
1830(offset,)X
2053(scale;)X
576 2100(This)N
738(call)X
874(begins)X
1103(sampling)X
1416(the)X
1534(program)X
1826(counter,)X
2107(with)X
2269(statistics)X
2564(maintained)X
2940(in)X
3022(the)X
3140(user-provided)X
3606(buffer.)X
3 f
576 2292(1.5.)N
736(Descriptors)X
576 2512(1.5.1.)N
796(The)X
949 0.4219(reference)AX
1292(table)X
1 f
776 2664(Each)N
972(process)X
1248(has)X
1390(access)X
1631(to)X
1728(resources)X
2067(through)X
2 f
2351(descriptors)X
1 f
(.)S
2787(Each)X
2984(descriptor)X
3341(is)X
3430(a)X
3502(handle)X
3752(allowing)X
576 2760(processes)N
904(to)X
986 0.4531(reference)AX
1307(objects)X
1554(such)X
1721(as)X
1808(\256les,)X
1981(devices)X
2242(and)X
2378(communications)X
2927(links.)X
776 2884(Rather)N
1013(than)X
1174(allowing)X
1477(processes)X
1808(direct)X
2014(access)X
2243(to)X
2329(descriptors,)X
2725(the)X
2847(system)X
3093(introduces)X
3451(a)X
3511(level)X
3691(of)X
3782(indirec-)X
576 2980(tion,)N
745(so)X
841(that)X
986(descriptors)X
1363(may)X
1526(be)X
1627(shared)X
1862(between)X
2155(processes.)X
2528(Each)X
2714(process)X
2980(has)X
3111(a)X
2 f
3171(descriptor)X
3524(reference)X
3852(table)X
1 f
(,)S
576 3076(containing)N
950(pointers)X
1244(to)X
1342(the)X
1476(actual)X
1704(descriptors.)X
2132(The)X
2293(descriptors)X
2681(themselves)X
3074(therefore)X
3402(may)X
3577(have)X
3766(multiple)X
576 3172 0.3500(references,)AN
948(and)X
1084(are)X
1203 0.4531(reference)AX
1524(counted)X
1798(by)X
1898(the)X
2016(system.)X
776 3296(Each)N
962(process)X
1229(has)X
1362(a)X
1424(limited)X
1676(size)X
1827(descriptor)X
2174 0.4531(reference)AX
2501(table,)X
2703(where)X
2926(the)X
3050(current)X
3304(size)X
3455(is)X
3534(returned)X
3828(by)X
3934(the)X
2 f
576 3392(getdtablesize)N
1 f
1014(call:)X
864 3536(nds)N
995(=)X
1060(getdtablesize\(\);)X
864 3632(result)N
1062(int)X
1166(nds;)X
576 3776(and)N
723(guaranteed)X
1107(to)X
1201(be)X
1309(at)X
1399(least)X
1578(64.)X
1730(The)X
1887(maximum)X
2243(number)X
2520(of)X
2619(descriptors)X
3003(is)X
3088(a)X
3156(resource)X
3461(limit)X
3643(\(see)X
3805(section)X
576 3872(1.6.3\).)N
829(The)X
980(entries)X
1220(in)X
1308(the)X
1432(descriptor)X
1778 0.4531(reference)AX
2104(table)X
2285(are)X
2409(referred)X
2690(to)X
2777(by)X
2882(small)X
3080(integers;)X
3381(for)X
3500(example)X
3797(if)X
3871(there)X
576 3968(are)N
695(64)X
795(slots)X
961(they)X
1119(are)X
1238(numbered)X
1579(0)X
1639(to)X
1721(63.)X
3 f
576 4160(1.5.2.)N
796(Descriptor)X
1182(properties)X
1 f
776 4312(Each)N
969(descriptor)X
1322(has)X
1461(a)X
1529(logical)X
1779(set)X
1900(of)X
1999(properties)X
2352(maintained)X
2740(by)X
2853(the)X
2984(system)X
3239(and)X
3388(de\256ned)X
3657(by)X
3770(its)X
2 f
3878(type)X
1 f
4012(.)X
576 4408(Each)N
772(type)X
945(supports)X
1251(a)X
1322(set)X
1446(of)X
1548(operations;)X
1939(some)X
2143(operations,)X
2531(such)X
2712(as)X
2813(reading)X
3088(and)X
3238(writing,)X
3523(are)X
3656(common)X
3970(to)X
576 4504(several)N
829(abstractions,)X
1257(while)X
1460(others)X
1681(are)X
1806(unique.)X
2090(For)X
2227(those)X
2422(types)X
2617(that)X
2763(support)X
3029(random)X
3300(access,)X
3552(the)X
3676(current)X
3930(\256le)X
576 4600(offset)N
784(is)X
862(stored)X
1083(in)X
1170(the)X
1293(descriptor.)X
1679(The)X
1829(generic)X
2091(operations)X
2450(applying)X
2754(to)X
2840(many)X
3042(of)X
3133(these)X
3322(types)X
3515(are)X
3638(described)X
3970(in)X
576 4696(section)N
824(2.1.)X
985(Naming)X
1264(contexts,)X
1572(\256les)X
1726(and)X
1863(directories)X
2223(are)X
2343(described)X
2672(in)X
2755(section)X
3003(2.2.)X
3164(Section)X
3425(2.3)X
3546(describes)X
3867(com-)X
576 4792(munications)N
997(domains)X
1298(and)X
1444(sockets.)X
1750(Terminals)X
2105(and)X
2251(\(structured)X
2629(and)X
2775(unstructured\))X
3233(devices)X
3504(are)X
3633(described)X
3970(in)X
576 4888(section)N
823(2.4.)X
3 f
576 5080(1.5.3.)N
796(Managing)X
1162(descriptor)X
1534 0.3611(references)AX
1 f
576 5232(A)N
654(duplicate)X
968(of)X
1055(a)X
1111(descriptor)X
1452 0.4531(reference)AX
1773(may)X
1931(be)X
2027(made)X
2221(by)X
2321(doing:)X
864 5376(new)N
1018(=)X
1083(dup\(old\);)X
864 5472(result)N
1062(int)X
1166(new;)X
1342(int)X
1446(old;)X
576 5616(returning)N
891(a)X
948(copy)X
1125(of)X
1213(descriptor)X
1555 0.4531(reference)AX
2 f
1877(old)X
1 f
2001(which)X
2219(is)X
2294(indistinguishable)X
2862(from)X
3040(the)X
3160(original.)X
3471(The)X
3618(value)X
3814(of)X
2 f
3903(new)X
1 f
576 5712(chosen)N
826(by)X
933(the)X
1058(system)X
1307(will)X
1458(be)X
1561(the)X
1686(smallest)X
1975(unused)X
2229(descriptor)X
2576 0.4531(reference)AX
2903(slot.)X
3084(A)X
3168(copy)X
3350(of)X
3443(a)X
3505(descriptor)X
3852(refer-)X
576 5808(ence)N
744(may)X
902(be)X
998(made)X
1192(in)X
1274(a)X
1330(speci\256c)X
1595(slot)X
1730(by)X
1830(doing:)X
17 p
%%Page: 17 15
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-17)X
864 720(dup2\(old,)N
1193(new\);)X
864 816(int)N
968(old,)X
1110(new;)X
576 960(The)N
2 f
726(dup2)X
1 f
911(call)X
1052(causes)X
1287(the)X
1410(system)X
1657(to)X
1744(deallocate)X
2095(the)X
2218(descriptor)X
2564 0.4531(reference)AX
2891(current)X
3145(occupying)X
3505(slot)X
2 f
3646(new)X
1 f
3775(,)X
3821(if)X
3896(any,)X
576 1056(replacing)N
895(it)X
959(with)X
1121(a)X
1177 0.4531(reference)AX
1498(to)X
1580(the)X
1698(same)X
1883(descriptor)X
2224(as)X
2311(old.)X
576 1180(Descriptors)N
966(are)X
1085(deallocated)X
1471(by:)X
864 1324(close\(old\);)N
864 1420(int)N
968(old;)X
3 f
576 1660(1.5.4.)N
796(Multiplexing)X
1255(requests)X
1 f
776 1812(The)N
932(system)X
1185(provides)X
1492(a)X
1559(standard)X
1862(way)X
2027(to)X
2120(do)X
2231(synchronous)X
2667(and)X
2814(asynchronous)X
3287(multiplexing)X
3727(of)X
3826(opera-)X
576 1908(tions.)N
804(Synchronous)X
1255(multiplexing)X
1696(is)X
1782(performed)X
2150(by)X
2262(using)X
2467(the)X
2 f
2597(select)X
1 f
2812(call)X
2960(to)X
3054(examine)X
3358(the)X
3488(state)X
3667(of)X
3766(multiple)X
576 2004(descriptors)N
965(simultaneously,)X
1506(and)X
1659(to)X
1758(wait)X
1933(for)X
2064(state)X
2248(changes)X
2544(on)X
2662(those)X
2869(descriptors.)X
3299(Sets)X
3470(of)X
3575(descriptors)X
3965(of)X
576 2100(interest)N
832(are)X
951(speci\256ed)X
1256(as)X
1343(bit)X
1447(masks,)X
1687(as)X
1774(follows:)X
864 2244(nds)N
995(=)X
1060(select\(nd,)X
1390(in,)X
1492(out,)X
1634(except,)X
1884(tvp\);)X
864 2340(result)N
1062(int)X
1166(nds;)X
1319(int)X
1423(nd;)X
1545(result)X
1743(fd_set)X
1959(*in,)X
2101(*out,)X
2283(*except;)X
864 2436(struct)N
1062(timeval)X
1322(*tvp;)X
864 2628(FD_CLR\(fd,)N
1295(&fdset\);)X
864 2724(FD_COPY\(&fdset,)N
1504(&fdset2\);)X
864 2820(FD_ISSET\(fd,)N
1353(&fdset\);)X
864 2916(FD_SET\(fd,)N
1282(&fdset\);)X
864 3012(FD_ZERO\(&fdset\);)N
864 3108(int)N
968(fd;)X
1077(fs_set)X
1284(fdset,)X
1480(fdset2;)X
576 3252(The)N
2 f
724(select)X
1 f
930(call)X
1069(examines)X
1395(the)X
1517(descriptors)X
1893(speci\256ed)X
2202(by)X
2306(the)X
2428(sets)X
2 f
2572(in)X
1 f
2634(,)X
2 f
2678(out)X
1 f
2804(and)X
2 f
2944(except)X
1 f
3150(,)X
3194(replacing)X
3517(the)X
3639(speci\256ed)X
3948(bit)X
576 3348(masks)N
798(by)X
900(the)X
1020(subsets)X
1272(that)X
1413(select)X
1617(true)X
1763(for)X
1878(input,)X
2083(output,)X
2328(and)X
2465(exceptional)X
2856(conditions)X
3210(respectively)X
3619(\()X
2 f
3646(nd)X
1 f
3747(indicates)X
576 3444(the)N
701(number)X
973(of)X
1067(\256le)X
1196(descriptors)X
1575(speci\256ed)X
1888(by)X
1996(the)X
2122(bit)X
2234(masks\).)X
2529(If)X
2611(any)X
2755(descriptors)X
3135(meet)X
3319(the)X
3445(following)X
3784(criteria,)X
576 3540(then)N
734(the)X
852(number)X
1117(of)X
1204(such)X
1371(descriptors)X
1743(is)X
1816(returned)X
2104(in)X
2 f
2186(nds)X
1 f
2317(and)X
2453(the)X
2571(bit)X
2675(masks)X
2895(are)X
3014(updated.)X
10 f
576 3664(g)N
1 f
776(A)X
855(descriptor)X
1197(selects)X
1432(for)X
1547(input)X
1732(if)X
1802(an)X
1899(input)X
2084(oriented)X
2368(operation)X
2692(such)X
2860(as)X
2 f
2948(read)X
1 f
3116(or)X
2 f
3204(receive)X
1 f
3458(is)X
3532(possible,)X
3836(or)X
3925(if)X
3996(a)X
776 3760(connection)N
1148(request)X
1400(may)X
1558(be)X
1654(accepted)X
1956(\(see)X
2106(sections)X
2384(2.1.3)X
2564(and)X
2700(2.3.1.4\).)X
10 f
576 3884(g)N
1 f
776(A)X
857(descriptor)X
1201(selects)X
1438(for)X
1555(output)X
1782(if)X
1855(an)X
1955(output)X
2183(oriented)X
2470(operation)X
2797(such)X
2968(as)X
2 f
3059(write)X
1 f
3247(or)X
2 f
3338(send)X
1 f
3509(is)X
3586(possible,)X
3892(or)X
3983(if)X
776 3980(an)N
877(operation)X
1205(that)X
1350(was)X
1499(``in)X
1639(progress'',)X
2009(such)X
2180(as)X
2271(connection)X
2647(establishment,)X
3131(has)X
3262(completed)X
3620(\(see)X
3774(sections)X
776 4076(2.1.3)N
956(and)X
1092(2.3.1.5\).)X
10 f
576 4200(g)N
1 f
776(A)X
855(descriptor)X
1197(selects)X
1432(for)X
1547(an)X
1645(exceptional)X
2037(condition)X
2361(if)X
2432(a)X
2490(condition)X
2814(that)X
2956(would)X
3178(cause)X
3379(a)X
3437(SIGURG)X
3757(signal)X
3970(to)X
776 4296(be)N
872(generated)X
1205(exists)X
1407(\(see)X
1557(section)X
1804(1.3.2\),)X
2031(or)X
2118(other)X
2303(device-speci\256c)X
2805(events)X
3030(have)X
3202(occurred.)X
576 4420(For)N
716(these)X
910(tests,)X
1102(an)X
1208(operation)X
1541(is)X
1624(considered)X
2002(to)X
2094(be)X
2200(possible)X
2492(if)X
2571(a)X
2637(call)X
2783(to)X
2875(the)X
3003(operation)X
3336(would)X
3566(return)X
3788(without)X
576 4516(blocking)N
878(\(even)X
1079(if)X
1150(the)X
1270(O_NONBLOCK)X
1834(\257ag)X
1975(were)X
2153(not)X
2276(set\).)X
2453(For)X
2585(example,)X
2898(a)X
2955(descriptor)X
3297(would)X
3518(test)X
3650(as)X
3738(ready)X
3938(for)X
576 4612(reading)N
842(if)X
916(a)X
977(read)X
1141(call)X
1282(would)X
1507(return)X
1724(immediately)X
2149(with)X
2316(data,)X
2495(an)X
2596(end-of-\256le)X
2960(indication,)X
3325(or)X
3418(an)X
3520(error)X
3703(other)X
3894(than)X
576 4708(EWOULDBLOCK.)N
576 4832(If)N
651(none)X
828(of)X
916(the)X
1036(speci\256ed)X
1343(conditions)X
1698(is)X
1773(true,)X
1940(the)X
2060(operation)X
2385(waits)X
2576(for)X
2692(one)X
2830(of)X
2919(the)X
3039(conditions)X
3394(to)X
3478(arise,)X
3672(blocking)X
3974(at)X
576 4928(most)N
751(the)X
869(amount)X
1129(of)X
1216(time)X
1378(speci\256ed)X
1683(by)X
2 f
1783(tvp)X
1 f
1881(.)X
1941(If)X
2 f
2015(tvp)X
1 f
2133(is)X
2206(given)X
2404(as)X
2491(NULL,)X
2745(the)X
2 f
2863(select)X
1 f
3066(waits)X
3255(inde\256nitely.)X
576 5052(Options)N
849(affecting)X
1155(I/O)X
1282(on)X
1382(a)X
1438(descriptor)X
1779(may)X
1937(be)X
2033(read)X
2192(and)X
2328(set)X
2437(by)X
2537(the)X
2655(call:)X
864 5196(dopt)N
1026(=)X
1091(fcntl\(d,)X
1345(cmd,)X
1523(arg\);)X
864 5292(result)N
1062(int)X
1166(dopt;)X
1350(int)X
1454(d,)X
1534(cmd,)X
1712(arg;)X
18 p
%%Page: 18 16
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-18)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
864 768(/*)N
946(command)X
1282(values)X
1507(*/)X
864 960(F_DUPFD)N
1416(/*)X
1498(return)X
1710(a)X
1766(new)X
1920(descriptor)X
2261(*/)X
864 1056(F_GETFD)N
1416(/*)X
1498(get)X
1616(\256le)X
1738(descriptor)X
2079(\257ags)X
2250(*/)X
864 1152(F_SETFD)N
1416(/*)X
1498(set)X
1607(\256le)X
1729(descriptor)X
2070(\257ags)X
2241(*/)X
864 1248(F_GETFL)N
1416(/*)X
1498(get)X
1616(\256le)X
1738(status)X
1940(\257ags)X
2111(*/)X
864 1344(F_SETFL)N
1416(/*)X
1498(set)X
1607(\256le)X
1729(status)X
1931(\257ags)X
2102(*/)X
864 1440(F_GETOWN)N
1416(/*)X
1498(get)X
1616(SIGIO/SIGURG)X
2170(proc/pgrp)X
2502(*/)X
864 1536(F_SETOWN)N
1416(/*)X
1498(set)X
1607(SIGIO/SIGURG)X
2161(proc/pgrp)X
2493(*/)X
864 1632(F_GETLK)N
1416(/*)X
1498(get)X
1616(blocking)X
1916(lock)X
2074(*/)X
864 1728(F_SETLK)N
1416(/*)X
1498(set)X
1607(or)X
1694(clear)X
1871(lock)X
2029(*/)X
864 1824(F_SETLKW)N
1416(/*)X
1498(set)X
1607(lock)X
1765(with)X
1927(wait)X
2085(*/)X
576 2016(The)N
722(F_DUPFD)X
2 f
1089(cmd)X
1 f
1244(provides)X
1541(identical)X
1838(functionality)X
2268(to)X
2 f
2352(dup2)X
1 f
(;)S
2556(it)X
2622(is)X
2697(provided)X
3004(solely)X
3217(for)X
3333(POSIX)X
3586(compatibility.)X
576 2112(The)N
724(F_SETFD)X
2 f
1075(cmd)X
1 f
1232(can)X
1367(be)X
1466(used)X
1636(to)X
1721(set)X
1833(the)X
1954(close-on-exec)X
2424(\257ag)X
2567(for)X
2684(a)X
2743(\256le)X
2867(descriptor.)X
3250(The)X
3397(F_SETFL)X
2 f
3738(cmd)X
1 f
3894(may)X
576 2208(be)N
691(used)X
877(to)X
978(set)X
1106(a)X
1181(descriptor)X
1541(in)X
1642(non-blocking)X
2108(I/O)X
2254(mode)X
2471(and/or)X
2715(enable)X
2964(signaling)X
3296(when)X
3510(I/O)X
3657(is)X
3750(possible.)X
576 2304(F_SETOWN)N
1018(may)X
1180(be)X
1280(used)X
1451(to)X
1536(specify)X
1791(a)X
1850(process)X
2114(or)X
2204(process)X
2468(group)X
2678(to)X
2763(be)X
2862(signaled)X
3152(when)X
3349(using)X
3545(the)X
3666(latter)X
3854(mode)X
576 2400(of)N
667(operation)X
994(or)X
1085(when)X
1283(urgent)X
1512(indications)X
1887(arise.)X
2104(The)X
2 f
2254(fcntl)X
1 f
2421(system)X
2668(call)X
2809(also)X
2963(provides)X
3264(POSIX-compliant)X
3867(byte-)X
576 2496(range)N
784(locking)X
1053(on)X
1162(\256les.)X
1364(However)X
1688(the)X
1815(semantics)X
2160(of)X
2256(unlocking)X
2605(on)X
2713(every)X
2 f
2920(close)X
1 f
3113(rather)X
3329(than)X
3495(last)X
3634(close)X
3827(makes)X
576 2592(them)N
760(useless.)X
1052(Much)X
1264(better)X
1472(semantics)X
1813(and)X
1954(faster)X
2158(locking)X
2423(are)X
2547(provided)X
2857(by)X
2962(the)X
2 f
3085(\257ock)X
1 f
3262(system)X
3509(call)X
3650(\(see)X
3805(section)X
576 2688(2.2.7\).)N
823(The)X
2 f
968(fcntl)X
1 f
1130(and)X
2 f
1266(\257ock)X
1 f
1438(locks)X
1627(can)X
1759(be)X
1855(used)X
2022(concurrently;)X
2470(they)X
2628(will)X
2772(serialize)X
3060(against)X
3307(each)X
3475(other)X
3660(properly.)X
776 2812(Operations)N
1185(on)X
1322(non-blocking)X
1806(descriptors)X
2216(will)X
2398(either)X
2639(complete)X
2991(immediately,)X
3469(return)X
3719(the)X
3875(error)X
576 2908(EWOULDBLOCK,)N
1242(partially)X
1536(complete)X
1857(an)X
1960(input)X
2151(or)X
2245(output)X
2476(operation)X
2806(returning)X
3127(a)X
3190(partial)X
3421(count,)X
3645(or)X
3738(return)X
3956(an)X
576 3004(error)N
754(EINPROGRESS)X
1312(noting)X
1537(that)X
1679(the)X
1799(requested)X
2129(operation)X
2454(is)X
2529(in)X
2613(progress.)X
2947(A)X
3027(descriptor)X
3370(which)X
3588(has)X
3717(signalling)X
576 3100(enabled)N
851(will)X
1000(cause)X
1204(the)X
1327(speci\256ed)X
1637(process)X
1902(and/or)X
2131(process)X
2396(group)X
2607(be)X
2707(signaled,)X
3018(with)X
3184(a)X
3244(SIGIO)X
3482(for)X
3600(input,)X
3808(output,)X
576 3196(or)N
663(in-progress)X
1044(operation)X
1367(complete,)X
1701(or)X
1788(a)X
1844(SIGURG)X
2162(for)X
2276(exceptional)X
2666(conditions.)X
776 3320(For)N
913(example,)X
1231(when)X
1431(writing)X
1688(to)X
1776(a)X
1839(terminal)X
2133(using)X
2333(non-blocking)X
2787(output,)X
3038(the)X
3163(system)X
3412(will)X
3563(accept)X
3796(only)X
3965(as)X
576 3416(much)N
777(data)X
934(as)X
1024(there)X
1208(is)X
1284(buffer)X
1503(space,)X
1724(then)X
1884(return.)X
2138(When)X
2352(making)X
2614(a)X
2672(connection)X
3046(on)X
3148(a)X
2 f
3206(socket)X
1 f
3407(,)X
3449(the)X
3569(operation)X
3894(may)X
576 3512(return)N
799(indicating)X
1150(that)X
1301(the)X
1430(connection)X
1813(establishment)X
2284(is)X
2368(``in)X
2515(progress''.)X
2912(The)X
2 f
3068(select)X
1 f
3282(facility)X
3540(can)X
3683(be)X
3791(used)X
3970(to)X
576 3608(determine)N
920(when)X
1117(further)X
1359(output)X
1586(is)X
1661(possible)X
1945(on)X
2047(the)X
2167(terminal,)X
2476(or)X
2565(when)X
2761(the)X
2881(connection)X
3255(establishment)X
3717(attempt)X
3979(is)X
576 3704(complete.)N
3 f
576 3896(1.6.)N
736(Resource)X
1073(controls)X
576 4116(1.6.1.)N
796(Process)X
1075(priorities)X
1 f
776 4268(The)N
925(system)X
1171(gives)X
1364(CPU)X
1543(scheduling)X
1914(priority)X
2178(to)X
2265(processes)X
2598(that)X
2743(have)X
2920(not)X
3047(used)X
3219(CPU)X
3399(time)X
3566(recently.)X
3890(This)X
576 4364(tends)N
773(to)X
863(favor)X
1061(interactive)X
1428(processes)X
1764(and)X
1908(processes)X
2244(that)X
2391(execute)X
2664(only)X
2833(for)X
2954(short)X
3141(periods.)X
3444(The)X
3596(instantaneous)X
576 4460(scheduling)N
943(priority)X
1203(is)X
1276(a)X
1332(function)X
1619(of)X
1706(CPU)X
1881(usage)X
2084(and)X
2220(a)X
2276(settable)X
2541(priority)X
2801(value)X
2996(used)X
3164(in)X
3247(adjusting)X
3561(the)X
3680(instantane-)X
576 4556(ous)N
713(priority)X
979(with)X
1147(CPU)X
1328(usage)X
1537(or)X
1630(inactivity.)X
1998(It)X
2073(is)X
2151(possible)X
2438(to)X
2525(determine)X
2871(the)X
2994(settable)X
3264(priority)X
3529(factor)X
3742(currently)X
576 4652(assigned)N
872(to)X
954(a)X
1010(process)X
1271(\(PRIO_PROCESS\),)X
1932(process)X
2193(group)X
2400(\(PRIO_PGRP\),)X
2915(or)X
3002(the)X
3120(processes)X
3448(of)X
3535(a)X
3592(speci\256ed)X
3898(user)X
576 4748(\(PRIO_USER\),)N
1096(or)X
1183(to)X
1265(alter)X
1428(this)X
1563(priority)X
1823(using)X
2016(the)X
2134(calls:)X
864 4892(prio)N
1013(=)X
1078(getpriority\(which,)X
1679(who\);)X
864 4988(result)N
1062(int)X
1166(prio;)X
1337(int)X
1441(which,)X
1677(who;)X
864 5180(setpriority\(which,)N
1456(who,)X
1634(prio\);)X
864 5276(int)N
968(which,)X
1204(who,)X
1382(prio;)X
576 5420(The)N
727(value)X
2 f
927(prio)X
1 f
1086(is)X
1165(in)X
1253(the)X
1377(range)X
9 f
1582(-)X
1 f
1626(20)X
1732(to)X
1820(20.)X
1966(The)X
2118(default)X
2368(priority)X
2635(is)X
2715(0;)X
2804(lower)X
3014(priorities)X
3330(cause)X
3536(more)X
3728(favorable)X
576 5516(execution.)N
952(The)X
2 f
1101(getpriority)X
1 f
1467(call)X
1607(returns)X
1854(the)X
1976(highest)X
2231(priority)X
2495(\(lowest)X
2755(numerical)X
3100(value\))X
3325(enjoyed)X
3602(by)X
3705(any)X
3844(of)X
3934(the)X
576 5612(speci\256ed)N
891(processes.)X
1269(The)X
2 f
1424(setpriority)X
1 f
1787(call)X
1933(sets)X
2083(the)X
2212(priorities)X
2532(of)X
2630(all)X
2741(the)X
2870(speci\256ed)X
3186(processes)X
3525(to)X
3618(the)X
3747(speci\256ed)X
576 5708(value.)N
810(Only)X
990(the)X
1108(super-user)X
1463(may)X
1621(lower)X
1824(priorities.)X
19 p
%%Page: 19 17
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-19)X
3 f
576 672(1.6.2.)N
796(Resource)X
1133(utilization)X
1 f
776 824(The)N
2 f
940(getrusage)X
1 f
1295(call)X
1450(returns)X
1712(information)X
2129(describing)X
2503(the)X
2641(resources)X
2985(utilized)X
3265(by)X
3385(the)X
3523(current)X
3791(process)X
576 920(\(RUSAGE_SELF\),)N
1216(or)X
1303(all)X
1403(its)X
1498(terminated)X
1861(descendent)X
2238(processes)X
2566(\(RUSAGE_CHILDREN\):)X
864 1064(getrusage\(who,)N
1377(rusage\);)X
864 1160(int)N
968(who;)X
1148(result)X
1346(struct)X
1544(rusage)X
1774(*rusage;)X
576 1304(The)N
721(information)X
1119(is)X
1192(returned)X
1480(in)X
1562(a)X
1618(structure)X
1919(de\256ned)X
2175(in)X
2 f
2257(<sys/resource.h>)X
1 f
2826(:)X
864 1496(struct)N
1062(rusage)X
1292({)X
1044 1592(struct)N
1342(timeval)X
1602(ru_utime;)X
2033(/*)X
2115(user)X
2269(time)X
2431(used)X
2598(*/)X
1044 1688(struct)N
1342(timeval)X
1602(ru_stime;)X
2033(/*)X
2115(system)X
2357(time)X
2519(used)X
2686(*/)X
1044 1784(int)N
1342(ru_maxrss;)X
2033(/*)X
2115(maximum)X
2459(core)X
2618(resident)X
2892(set)X
3001(size:)X
3168(kbytes)X
3397(*/)X
1044 1880(int)N
1342(ru_ixrss;)X
2033(/*)X
2115(integral)X
2380(shared)X
2610(memory)X
2897(size)X
3042(\(kbytes*sec\))X
3468(*/)X
1044 1976(int)N
1342(ru_idrss;)X
2033(/*)X
2115(unshared)X
2425(data)X
2579(memory)X
2866(size)X
3011(*/)X
1044 2072(int)N
1342(ru_isrss;)X
2033(/*)X
2115(unshared)X
2425(stack)X
2610(memory)X
2897(size)X
3042(*/)X
1044 2168(int)N
1342(ru_min\257t;)X
2033(/*)X
2115(page-reclaims)X
2586(*/)X
1044 2264(int)N
1342(ru_maj\257t;)X
2033(/*)X
2115(page)X
2287(faults)X
2485(*/)X
1044 2360(int)N
1342(ru_nswap;)X
2033(/*)X
2115(swaps)X
2331(*/)X
1044 2456(int)N
1342(ru_inblock;)X
2033(/*)X
2115(block)X
2313(input)X
2497(operations)X
2851(*/)X
1044 2552(int)N
1342(ru_oublock;)X
2033(/*)X
2115(block)X
2313(output)X
2537(operations)X
2891(*/)X
1044 2648(int)N
1342(ru_msgsnd;)X
2033(/*)X
2115(messages)X
2438(sent)X
2587(*/)X
1044 2744(int)N
1342(ru_msgrcv;)X
2033(/*)X
2115(messages)X
2438(received)X
2731(*/)X
1044 2840(int)N
1342(ru_nsignals;)X
2033(/*)X
2115(signals)X
2357(received)X
2650(*/)X
1044 2936(int)N
1342(ru_nvcsw;)X
2033(/*)X
2115(voluntary)X
2442(context)X
2698(switches)X
2994(*/)X
1044 3032(int)N
1342(ru_nivcsw;)X
2033(/*)X
2115(involuntary)X
2504(context)X
2760(switches)X
3056(*/)X
864 3128(};)N
3 f
576 3416(1.6.3.)N
796(Resource)X
1133(limits)X
1 f
776 3568(The)N
955(resources)X
1313(of)X
1434(a)X
1524(process)X
1819(for)X
1967(which)X
2217(limits)X
2452(are)X
2605(controlled)X
2984(by)X
3118(the)X
3270(kernel)X
3525(are)X
3679(de\256ned)X
3970(in)X
2 f
576 3664(<sys/resource.h>)N
1 f
1145(,)X
1185(and)X
1321(controlled)X
1666(by)X
1766(the)X
2 f
1884(getrlimit)X
1 f
2179(and)X
2 f
2315(setrlimit)X
1 f
2601(calls:)X
864 3808(getrlimit\(resource,)N
1479(rlp\);)X
864 3904(int)N
968(resource;)X
1283(result)X
1481(struct)X
1679(rlimit)X
1876(*rlp;)X
864 4096(setrlimit\(resource,)N
1470(rlp\);)X
864 4192(int)N
968(resource;)X
1283(struct)X
1481(rlimit)X
1678(*rlp;)X
576 4336(The)N
721(resources)X
1045(that)X
1185(may)X
1343(currently)X
1653(be)X
1749(controlled)X
2094(include:)X
864 4528(RLIMIT_CPU)N
1709(/*)X
1791(cpu)X
1927(time)X
2089(in)X
2171(milliseconds)X
2595(*/)X
864 4624(RLIMIT_FSIZE)N
1709(/*)X
1791(maximum)X
2135(\256le)X
2257(size)X
2402(*/)X
864 4720(RLIMIT_DATA)N
1709(/*)X
1791(data)X
1945(size)X
2090(*/)X
864 4816(RLIMIT_STACK)N
1709(/*)X
1791(stack)X
1976(size)X
2121(*/)X
864 4912(RLIMIT_CORE)N
1709(/*)X
1791(core)X
1950(\256le)X
2072(size)X
2217(*/)X
864 5008(RLIMIT_RSS)N
1709(/*)X
1791(resident)X
2065(set)X
2174(size)X
2319(*/)X
864 5104(RLIMIT_MEMLOCK)N
1709(/*)X
1791(locked-in-memory)X
2408(address)X
2669(space)X
2868(*/)X
864 5200(RLIMIT_NPROC)N
1709(/*)X
1791(number)X
2056(of)X
2143(processes)X
2471(*/)X
864 5296(RLIMIT_NOFILE)N
1709(/*)X
1791(number)X
2056(of)X
2143(open)X
2319(\256les)X
2472(*/)X
20 p
%%Page: 20 18
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-20)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
576 672(Each)N
757(limit)X
927(has)X
1054(a)X
1110(current)X
1358(value)X
1552(and)X
1688(a)X
1744(maximum)X
2088(de\256ned)X
2344(by)X
2444(the)X
2 f
2562(rlimit)X
1 f
2759(structure:)X
864 864(struct)N
1062(rlimit)X
1259({)X
1044 960(quad_t)N
1382(rlim_cur;)X
1835(/*)X
1917(current)X
2165(\(soft\))X
2359(limit)X
2529(*/)X
1044 1056(quad_t)N
1382(rlim_max;)X
1835(/*)X
1917(hard)X
2080(limit)X
2250(*/)X
864 1152(};)N
776 1372(Only)N
962(the)X
1086(super-user)X
1448(can)X
1587(raise)X
1766(the)X
1891(maximum)X
2242(limits.)X
2490(Other)X
2700(users)X
2892(may)X
3057(only)X
3226(alter)X
2 f
3396(rlim_cur)X
1 f
3703(within)X
3934(the)X
576 1468(range)N
780(from)X
961(0)X
1026(to)X
2 f
1113(rlim_max)X
1 f
1445(or)X
1537(\(irreversibly\))X
1986(lower)X
2 f
2194(rlim_max)X
1 f
2501(.)X
2566(To)X
2679(remove)X
2944(a)X
3004(limit)X
3178(on)X
3282(a)X
3342(resource,)X
3659(the)X
3781(value)X
3979(is)X
576 1564(set)N
685(to)X
767(RLIM_INFINITY.)X
3 f
576 1756(1.7.)N
736(System)X
1001(operation)X
1350(support)X
1 f
576 1908(Unless)N
814(noted)X
1012(otherwise,)X
1364(the)X
1482(calls)X
1649(in)X
1731(this)X
1866(section)X
2113(are)X
2232(permitted)X
2559(only)X
2721(to)X
2803(a)X
2859(privileged)X
3204(user.)X
3 f
576 2100(1.7.1.)N
796(Monitoring)X
1207(system)X
1459(operation)X
1 f
776 2252(The)N
2 f
934(sysctl)X
1 f
1145(function)X
1445(allows)X
1687(any)X
1836(process)X
2111(to)X
2207(retrieve)X
2487(system)X
2743(information)X
3155(and)X
3305(allows)X
3548(processes)X
3890(with)X
576 2348(appropriate)N
962(privileges)X
1298(to)X
1380(set)X
1489(system)X
1731(con\256gurations.)X
864 2492(sysctl\(name,)N
1287(namelen,)X
1599(oldp,)X
1781(oldlenp,)X
2061(newp,)X
2275(newlen\);)X
864 2588(int)N
968(*name;)X
1224(u_int)X
1408(namelen;)X
1722(result)X
1920(void)X
2082(*oldp;)X
2306(result)X
2504(size_t)X
2711(*oldlenp;)X
864 2684(void)N
1026(*newp;)X
1282(size_t)X
1489(newlen;)X
576 2828(The)N
729(information)X
1135(available)X
1453(from)X
2 f
1637(sysctl)X
1 f
1843(consists)X
2124(of)X
2219(integers,)X
2521(strings,)X
2782(and)X
2926(tables.)X
2 f
3181(Sysctl)X
1 f
3396(returns)X
3647(a)X
3712(consistent)X
576 2924(snapshot)N
882(of)X
975(the)X
1099(data)X
1259(requested.)X
1633(Consistency)X
2050(is)X
2128(obtained)X
2429(by)X
2534(locking)X
2799(the)X
2922(destination)X
3298(buffer)X
3520(into)X
3669(memory)X
3961(so)X
576 3020(that)N
716(the)X
834(data)X
988(may)X
1146(be)X
1242(copied)X
1476(out)X
1598(without)X
1862(blocking.)X
2202(Calls)X
2386(to)X
2 f
2468(sysctl)X
1 f
2666(are)X
2785(serialized)X
3113(to)X
3195(avoid)X
3393(deadlock.)X
776 3144(The)N
924(object)X
1143(to)X
1228(be)X
1327(interrogated)X
1738(or)X
1829(set)X
1942(is)X
2019(named)X
2257(using)X
2454(a)X
2514(``Management)X
3011(Information)X
3418(Base'')X
3652(\(MIB\))X
3881(style)X
576 3240(name,)N
795(listed)X
993(in)X
2 f
1079(name)X
1 f
1253(,)X
1297(which)X
1517(is)X
1594(a)X
2 f
1654(namelen)X
1 f
1950(length)X
2174(array)X
2364(of)X
2455(integers.)X
2773(This)X
2939(name)X
3137(is)X
3214(from)X
3394(a)X
3454(hierarchical)X
3858(name)X
576 3336(space,)N
799(with)X
965(the)X
1087(most)X
1267(signi\256cant)X
1625(component)X
2006(in)X
2093(the)X
2216(\256rst)X
2365(element)X
2644(of)X
2736(the)X
2859(array.)X
3090(It)X
3164(is)X
3242(analogous)X
3592(to)X
3679(a)X
3740(\256le)X
3867(path-)X
576 3432(name,)N
790(but)X
912(with)X
1074(integers)X
1348(as)X
1435(components)X
1842(rather)X
2050(than)X
2208(slash-separated)X
2719(strings.)X
776 3556(The)N
928(information)X
1333(is)X
1413(copied)X
1654(into)X
1805(the)X
1931(buffer)X
2156(speci\256ed)X
2469(by)X
2 f
2577(oldp)X
1 f
2719(.)X
2787(The)X
2940(size)X
3093(of)X
3188(the)X
3314(buffer)X
3539(is)X
3620(given)X
3826(by)X
3934(the)X
576 3652(location)N
861(speci\256ed)X
1173(by)X
2 f
1280(oldlenp)X
1 f
1547(before)X
1780(the)X
1905(call,)X
2068(and)X
2211(that)X
2358(location)X
2643(is)X
2723(\256lled)X
2914(in)X
3003(with)X
3172(the)X
3297(amount)X
3564(of)X
3658(data)X
3818(copied)X
576 3748(after)N
751(a)X
814(successful)X
1171(call.)X
1354(If)X
1435(the)X
1560(amount)X
1827(of)X
1921(data)X
2082(available)X
2399(is)X
2479(greater)X
2730(than)X
2895(the)X
3020(size)X
3172(of)X
3266(the)X
3391(buffer)X
3615(supplied,)X
3934(the)X
576 3844(call)N
712(supplies)X
994(as)X
1081(much)X
1279(data)X
1433(as)X
1520(\256ts)X
1637(in)X
1719(the)X
1837(buffer)X
2054(provided)X
2359(and)X
2495(returns)X
2738(an)X
2834(error.)X
776 3968(To)N
887(set)X
998(a)X
1056(new)X
1212(value,)X
2 f
1429(newp)X
1 f
1621(is)X
1697(set)X
1809(to)X
1894(point)X
2081(to)X
2166(a)X
2225(buffer)X
2445(of)X
2535(length)X
2 f
2758(newlen)X
1 f
3008(from)X
3187(which)X
3406(the)X
3527(requested)X
3858(value)X
576 4064(is)N
649(to)X
731(be)X
827(taken.)X
1061(If)X
1135(a)X
1191(new)X
1345(value)X
1539(is)X
1612(not)X
1734(to)X
1816(be)X
1912(set,)X
2 f
2041(newp)X
1 f
2230(should)X
2463(be)X
2559(set)X
2668(to)X
2750(NULL)X
2984(and)X
2 f
3120(newlen)X
1 f
3367(set)X
3476(to)X
3558(0.)X
776 4188(The)N
931(top)X
1063(level)X
1249(names)X
1484(\(those)X
1710(used)X
1887(in)X
1979(the)X
2108(\256rst)X
2263(element)X
2548(of)X
2646(the)X
2 f
2775(name)X
1 f
2980(array\))X
3204(are)X
3334(de\256ned)X
3601(with)X
3774(a)X
3841(CTL_)X
576 4284(pre\256x)N
786(in)X
2 f
871(<sys/sysctl.h>)X
1 f
1337(,)X
1380(and)X
1518(are)X
1639(as)X
1728(follows.)X
2030(The)X
2177(next)X
2337(and)X
2475(subsequent)X
2853(levels)X
3062(down)X
3262(are)X
3383(found)X
3592(in)X
3676(the)X
3796(include)X
576 4380(\256les)N
729(listed)X
922(here:)X
864 4572(Name)N
1566(Next)X
1742(Level)X
1945(Names)X
2288(Description)X
10 f
864 4588(i)N
879(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
1 f
864 4684(CTL)N
10 f
1015(i)X
1 f
(DEBUG)S
1566(sys/sysctl.h)X
2288(Debugging)X
864 4780(CTL)N
10 f
1015(i)X
1 f
(FS)S
1566(sys/sysctl.h)X
2288(Filesystem)X
864 4876(CTL)N
10 f
1015(i)X
1 f
(HW)S
1566(sys/sysctl.h)X
2288(Generic)X
2563(CPU,)X
2758(I/O)X
864 4972(CTL)N
10 f
1015(i)X
1 f
(KERN)S
1566(sys/sysctl.h)X
2288(High)X
2468(kernel)X
2689(limits)X
864 5068(CTL)N
10 f
1015(i)X
1 f
(MACHDEP)S
1566(sys/sysctl.h)X
2288(Machine)X
2589(dependent)X
864 5164(CTL)N
10 f
1015(i)X
1 f
(NET)S
1566(sys/socket.h)X
2288(Networking)X
864 5260(CTL)N
10 f
1015(i)X
1 f
(USER)S
1566(sys/sysctl.h)X
2288(User-level)X
864 5356(CTL)N
10 f
1015(i)X
1 f
(VM)S
1566(vm/vm_param.h)X
2288(Virtual)X
2535(memory)X
21 p
%%Page: 21 19
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-21)X
3 f
576 672(1.7.2.)N
796(Bootstrap)X
1154(operations)X
1 f
576 824(The)N
721(call:)X
864 968(mount\(type,)N
1273(dir,)X
1402(\257ags,)X
1593(data\);)X
864 1064(int)N
968(type;)X
1148(char)X
1307(*dir;)X
1478(int)X
1582(\257ags;)X
1775(caddr_t)X
2036(data;)X
576 1208(extends)N
851(the)X
979(name)X
1183(space.)X
1413(The)X
2 f
1569(mount)X
1 f
1800(call)X
1947(grafts)X
2161(a)X
2228(\256lesystem)X
2583(object)X
2810(onto)X
2983(the)X
3112(system)X
3365(\256le)X
3498(tree)X
3650(at)X
3739(the)X
3868(point)X
576 1304(speci\256ed)N
892(in)X
2 f
985(dir)X
1 f
1078(.)X
1149(The)X
1304(argument)X
2 f
1637(type)X
1 f
1801(speci\256es)X
2107(the)X
2235(type)X
2403(of)X
2500(\256lesystem)X
2854(to)X
2946(be)X
3052(mounted.)X
3402(The)X
3557(argument)X
2 f
3890(data)X
1 f
576 1400(describes)N
896(the)X
1015(\256lesystem)X
1360(object)X
1577(to)X
1660(be)X
1757(mounted)X
2058(according)X
2396(to)X
2479(the)X
2 f
2598(type)X
1 f
2732(.)X
2793(The)X
2939(contents)X
3227(of)X
3316(the)X
3436(\256lesystem)X
3782(become)X
576 1496(available)N
896(through)X
1175(the)X
1303(new)X
1467(mount)X
1701(point)X
2 f
1895(dir)X
1 f
1988(.)X
2058(Any)X
2226(\256les)X
2389(in)X
2480(or)X
2576(below)X
2 f
2801(dir)X
1 f
2923(at)X
3010(the)X
3137(time)X
3308(of)X
3404(a)X
3469(successful)X
3828(mount)X
576 1592(disappear)N
905(from)X
1082(the)X
1201(name)X
1396(space)X
1596(until)X
1763(the)X
1882(\256lesystem)X
2227(is)X
2301(unmounted.)X
2722(The)X
2 f
2869(\257ags)X
1 f
3042(value)X
3238(speci\256es)X
3536(generic)X
3795(proper-)X
576 1688(ties,)N
727(such)X
894(as)X
981(a)X
1037(request)X
1289(to)X
1371(mount)X
1595(the)X
1713(\256lesystem)X
2057(read-only.)X
576 1812(Information)N
979(about)X
1177(all)X
1277(mounted)X
1577(\256lesystems)X
1952(can)X
2084(be)X
2180(obtained)X
2476(with)X
2638(the)X
2756(call:)X
864 1956(getfsstat\(buf,)N
1305(bufsize,)X
1577(\257ags\);)X
864 2052(result)N
1062(struct)X
1260(statfs)X
1449(*buf;)X
1638(long)X
1800(bufsize,)X
2072(int)X
2176(\257ags;)X
576 2224(The)N
721(call:)X
864 2368(swapon\(blkdev\);)N
864 2464(char)N
1023(*blkdev;)X
576 2608(speci\256es)N
872(a)X
928(device)X
1158(to)X
1240(be)X
1336(made)X
1530(available)X
1840(for)X
1954(paging)X
2192(and)X
2328(swapping.)X
3 f
576 2800(1.7.3.)N
796(Shutdown)X
1161(operations)X
1 f
576 2952(The)N
721(call:)X
864 3096(unmount\(dir,)N
1304(\257ags\);)X
864 3192(char)N
1023(*dir;)X
1194(int)X
1298(\257ags;)X
576 3336(unmounts)N
911(the)X
1029(\256lesystem)X
1373(mounted)X
1673(on)X
2 f
1774(dir)X
1 f
1867(.)X
1928(This)X
2091(call)X
2228(will)X
2373(succeed)X
2649(only)X
2812(if)X
2882(the)X
3001(\256lesystem)X
3346(is)X
3420(not)X
3543(currently)X
3854(being)X
576 3432(used)N
743(or)X
830(if)X
899(the)X
1017(MNT_FORCE)X
1512(\257ag)X
1652(is)X
1725(speci\256ed.)X
576 3556(The)N
721(call:)X
864 3700(sync\(\);)N
576 3844(schedules)N
909(I/O)X
1037(to)X
1121(\257ush)X
1298(all)X
1400(modi\256ed)X
1706(disk)X
1861(blocks)X
2092(resident)X
2368(in)X
2452(the)X
2572(kernel.)X
2835(\(This)X
3026(call)X
3164(does)X
3333(not)X
3457(require)X
3707(privileged)X
576 3940(status.\))N
845(Files)X
1020(can)X
1152(be)X
1248(selectively)X
1611(\257ushed)X
1862(to)X
1944(disk)X
2097(using)X
2290(the)X
2 f
2408(fsync)X
1 f
2593(call)X
2729(\(see)X
2879(section)X
3126(2.2.6\).)X
576 4064(The)N
721(call:)X
864 4208(reboot\(how\);)N
864 4304(int)N
968(how;)X
576 4448(causes)N
807(a)X
864(machine)X
1157(halt)X
1298(or)X
1386(reboot.)X
1652(The)X
1798(call)X
1935(may)X
2095(request)X
2349(a)X
2407(reboot)X
2634(by)X
2736(specifying)X
2 f
3092(how)X
1 f
3247(as)X
3336(RB_AUTOBOOT,)X
3965(or)X
576 4544(that)N
741(the)X
884(machine)X
1201(be)X
1322(halted)X
1563(with)X
1750(RB_HALT,)X
2175(among)X
2438(other)X
2648(options.)X
2968(These)X
3205(constants)X
3547(are)X
3690(de\256ned)X
3970(in)X
2 f
576 4640(<sys/reboot.h>)N
1 f
1073(.)X
3 f
576 4832(1.7.4.)N
796(Accounting)X
1 f
776 4984(The)N
924(system)X
1169(optionally)X
1516(keeps)X
1722(an)X
1821(accounting)X
2196(record)X
2425(in)X
2510(a)X
2569(\256le)X
2694(for)X
2811(each)X
2982(process)X
3246(that)X
3389(exits)X
3564(on)X
3668(the)X
3790(system.)X
576 5080(The)N
727(format)X
967(of)X
1060(this)X
1201(record)X
1433(is)X
1511(beyond)X
1772(the)X
1895(scope)X
2103(of)X
2195(this)X
2335(document.)X
2716(The)X
2866(accounting)X
3243(may)X
3406(be)X
3507(enabled)X
3782(to)X
3869(a)X
3930(\256le)X
2 f
576 5176(name)N
1 f
770(by)X
870(doing:)X
864 5320(acct\(path\);)N
864 5416(char)N
1023(*path;)X
576 5560(If)N
2 f
650(path)X
1 f
812(is)X
885(NULL,)X
1139(then)X
1297(accounting)X
1669(is)X
1742(disabled.)X
2069(Otherwise,)X
2439(the)X
2557(named)X
2791(\256le)X
2913(becomes)X
3214(the)X
3332(accounting)X
3704(\256le.)X
22 p
%%Page: 22 20
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-22)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
3 f
576 672(2.)N
676(System)X
941(facilities)X
1 f
576 824(The)N
721(system)X
963(abstractions)X
1366(described)X
1694(are:)X
576 948(Directory)N
904(contexts)X
776 1044(A)N
858(directory)X
1172(context)X
1432(is)X
1509(a)X
1569(position)X
1850(in)X
1936(the)X
2058(\256lesystem)X
2406(name)X
2604(space.)X
2847(Operations)X
3224(on)X
3329(\256les)X
3487(and)X
3628(other)X
3818(named)X
776 1140(objects)N
1023(in)X
1105(a)X
1161(\256lesystem)X
1505(are)X
1624(always)X
1867(speci\256ed)X
2172(relative)X
2433(to)X
2515(such)X
2682(a)X
2738(context.)X
576 1264(Files)N
776 1360(Files)N
957(are)X
1082(used)X
1255(to)X
1343(store)X
1526(uninterpreted)X
1981(sequences)X
2334(of)X
2428(bytes,)X
2644(which)X
2867(may)X
3032(be)X
2 f
3135(read)X
1 f
3309(and)X
2 f
3452(written)X
1 f
3705(randomly.)X
776 1456(Pages)N
989(from)X
1171(\256les)X
1330(may)X
1494(also)X
1649(be)X
1751(mapped)X
2030(into)X
2179(the)X
2302(process)X
2568(address)X
2834(space.)X
3078(A)X
3161(directory)X
3476(may)X
3639(be)X
3740(read)X
3904(as)X
3996(a)X
776 1552(\256le)N
905(if)X
981(permitted)X
1315(by)X
1422(the)X
1547(underlying)X
1921(storage)X
2180(facility,)X
2454(though)X
2703(it)X
2774(is)X
2854(usually)X
3112(accessed)X
3422(using)X
2 f
3623(getdirentries)X
1 f
776 1648(\(see)N
928(section)X
1176(2.2.3.1\).)X
1484(\(Local)X
1715(\256lesystems)X
2091(permit)X
2321(directories)X
2681(to)X
2764(be)X
2861(read,)X
3041(although)X
3342(most)X
3518(NFS)X
3685(implemen-)X
776 1744(tations)N
1009(do)X
1109(not)X
1231(allow)X
1429(reading)X
1690(of)X
1777(directories.\))X
576 1868(Communications)N
1142(domains)X
776 1964(A)N
871(communications)X
1437(domain)X
1714(represents)X
2077(an)X
2190(interprocess)X
2615(communications)X
3181(environment,)X
3644(such)X
3829(as)X
3934(the)X
776 2060(communications)N
1326(facilities)X
1623(of)X
1711(the)X
1830(4.4BSD)X
2106(system,)X
2369(communications)X
2919(in)X
3002(the)X
3121(INTERNET,)X
3554(or)X
3641(the)X
3759(resource)X
776 2156(sharing)N
1032(protocols)X
1350(and)X
1486(access)X
1712(rights)X
1914(of)X
2001(a)X
2057(resource)X
2350(sharing)X
2606(system)X
2848(on)X
2948(a)X
3004(local)X
3180(network.)X
576 2280(Sockets)N
776 2376(A)N
857(socket)X
1085(is)X
1161(an)X
1260(endpoint)X
1563(of)X
1653(communication)X
2174(and)X
2313(the)X
2434(focal)X
2619(point)X
2807(for)X
2925(IPC)X
3073(in)X
3159(a)X
3219(communications)X
3772(domain.)X
776 2472(Sockets)N
1046(may)X
1205(be)X
1302(created)X
1556(in)X
1639(pairs,)X
1836(or)X
1924(given)X
2123(names)X
2349(and)X
2486(used)X
2654(to)X
2737(rendezvous)X
3124(with)X
3287(other)X
3473(sockets)X
3729(in)X
3811(a)X
3867(com-)X
776 2568(munications)N
1193(domain,)X
1479(accepting)X
1814(connections)X
2224(from)X
2407(these)X
2599(sockets)X
2862(or)X
2956(exchanging)X
3353(messages)X
3683(with)X
3852(them.)X
776 2664(These)N
998(operations)X
1362(model)X
1592(a)X
1658(labeled)X
1920(or)X
2017(unlabeled)X
2359(communications)X
2918(graph,)X
3151(and)X
3297(can)X
3439(be)X
3544(used)X
3720(in)X
3811(a)X
3876(wide)X
776 2760(variety)N
1020(of)X
1108(communications)X
1658(domains.)X
1990(Sockets)X
2260(can)X
2393(have)X
2567(different)X
2 f
2866(types)X
1 f
3066(to)X
3150(provide)X
3417(different)X
3716(semantics)X
776 2856(of)N
863(communication,)X
1401(increasing)X
1751(the)X
1869(\257exibility)X
2199(of)X
2286(the)X
2404(model.)X
576 2980(Terminals)N
921(and)X
1057(other)X
1242(devices)X
776 3076(Devices)N
1069(include)X
1339(terminals)X
1671(\(providing)X
2043(input)X
2241(editing,)X
2517(interrupt)X
2827(generation,)X
3220(output)X
3458(\257ow)X
3634(control,)X
3916(and)X
776 3172(editing\),)N
1073(magnetic)X
1395(tapes,)X
1608(disks,)X
1819(and)X
1962(other)X
2154(peripherals.)X
2578(They)X
2770(normally)X
3086(support)X
3353(the)X
3478(generic)X
2 f
3742(read)X
1 f
3916(and)X
2 f
776 3268(write)N
1 f
960(operations)X
1314(as)X
1401(well)X
1559(as)X
1646(a)X
1702(number)X
1967(of)X
2 f
2054(ioctl)X
1 f
2209('s.)X
576 3392(Processes)N
776 3488(Process)N
1041(descriptors)X
1413(provide)X
1678(facilities)X
1974(for)X
2088(control)X
2335(and)X
2471(debugging)X
2829(of)X
2916(other)X
3101(processes.)X
3 f
576 3680(2.1.)N
736(Generic)X
1028(operations)X
1 f
776 3832(Many)N
991(system)X
1241(abstractions)X
1652(support)X
1920(the)X
2 f
2047(read)X
1 f
2194(,)X
2 f
2243(write)X
1 f
2407(,)X
2456(and)X
2 f
2601(ioctl)X
1 f
2772(operations.)X
3175(We)X
3316(describe)X
3613(the)X
3740(basics)X
3965(of)X
576 3928(these)N
765(common)X
1068(primitives)X
1415(here.)X
1617(Similarly,)X
1957(the)X
2078(mechanisms)X
2497(whereby)X
2797(normally)X
3109(synchronous)X
3537(operations)X
3894(may)X
576 4024(occur)N
783(in)X
873(a)X
938(non-blocking)X
1394(or)X
1490(asynchronous)X
1960(fashion)X
2225(are)X
2353(common)X
2662(to)X
2753(all)X
2862(system-de\256ned)X
3376(abstractions)X
3788(and)X
3933(are)X
576 4120(described)N
904(here.)X
3 f
576 4312(2.1.1.)N
796(Read)X
994(and)X
1142(write)X
1 f
776 4464(The)N
2 f
921(read)X
1 f
1088(and)X
2 f
1224(write)X
1 f
1408(system)X
1650(calls)X
1817(can)X
1950(be)X
2047(applied)X
2304(to)X
2387(communications)X
2937(channels,)X
3259(\256les,)X
3433(terminals)X
3752(and)X
3889(dev-)X
576 4560(ices.)N
761(They)X
946(have)X
1118(the)X
1236(form:)X
864 4704(cc)N
956(=)X
1021(read\(fd,)X
1294(buf,)X
1441(nbytes\);)X
864 4800(result)N
1062(ssize_t)X
1300(cc;)X
1414(int)X
1518(fd;)X
1627(result)X
1825(void)X
1987(*buf;)X
2176(size_t)X
2383(nbytes;)X
864 4992(cc)N
956(=)X
1021(write\(fd,)X
1320(buf,)X
1467(nbytes\);)X
864 5088(result)N
1062(ssize_t)X
1300(cc;)X
1414(int)X
1518(fd;)X
1627(void)X
1789(*buf;)X
1978(size_t)X
2185(nbytes;)X
576 5232(The)N
2 f
721(read)X
1 f
888(call)X
1024(transfers)X
1321(as)X
1408(much)X
1606(data)X
1760(as)X
1847(possible)X
2129(from)X
2305(the)X
2423(object)X
2640(de\256ned)X
2897(by)X
2 f
2998(fd)X
1 f
3081(to)X
3164(the)X
3283(buffer)X
3501(at)X
3580(address)X
2 f
3842(buf)X
1 f
3965(of)X
576 5328(size)N
2 f
725(nbytes)X
1 f
930(.)X
994(The)X
1143(number)X
1412(of)X
1503(bytes)X
1695(transferred)X
2067(is)X
2143(returned)X
2434(in)X
2 f
2519(cc)X
1 f
2591(,)X
2634(which)X
2853(is)X
9 f
2929(-)X
1 f
2973(1)X
3036(if)X
3108(a)X
3167(return)X
3382(occurred)X
3687(before)X
3916(any)X
576 5424(data)N
734(was)X
883(transferred)X
1256(because)X
1535(of)X
1626(an)X
1726(error)X
1907(or)X
1998(use)X
2129(of)X
2220(non-blocking)X
2671(operations.)X
3069(A)X
3151(return)X
3367(value)X
3565(of)X
3656(0)X
3720(is)X
3798(used)X
3970(to)X
576 5520(indicate)N
850(an)X
946(end-of-\256le)X
1305(condition.)X
776 5644(The)N
2 f
921(write)X
1 f
1106(call)X
1243(transfers)X
1541(data)X
1696(from)X
1873(the)X
1992(buffer)X
2210(to)X
2293(the)X
2412(object)X
2629(de\256ned)X
2886(by)X
2 f
2987(fd)X
1 f
3049(.)X
3110(Depending)X
3483(on)X
3584(the)X
3703(type)X
3862(of)X
2 f
3950(fd)X
1 f
4012(,)X
576 5740(it)N
646(is)X
725(possible)X
1013(that)X
1159(the)X
2 f
1283(write)X
1 f
1473(call)X
1615(will)X
1765(accept)X
1997(only)X
2165(a)X
2227(portion)X
2484(of)X
2577(the)X
2701(provided)X
3012(bytes;)X
3229(the)X
3353(user)X
3513(should)X
3752(resubmit)X
576 5836(the)N
699(other)X
889(bytes)X
1083(in)X
1170(a)X
1231(later)X
1399(request.)X
1696(Error)X
1891(returns)X
2139(because)X
2419(of)X
2511(interrupted)X
2888(or)X
2980(otherwise)X
3317(incomplete)X
3698(operations)X
23 p
%%Page: 23 21
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-23)X
576 672(are)N
695(possible,)X
997(in)X
1079(which)X
1295(case)X
1454(no)X
1554(data)X
1708(will)X
1852(have)X
2024(been)X
2196(transferred.)X
776 796(Scattering)N
1140(of)X
1246(data)X
1419(on)X
1538(input,)X
1761(or)X
1867(gathering)X
2209(of)X
2315(data)X
2488(for)X
2622(output)X
2866(is)X
2959(also)X
3128(possible)X
3430(using)X
3643(an)X
3759(array)X
3965(of)X
576 892(input/output)N
986(vector)X
1207(descriptors.)X
1619(The)X
1764(type)X
1922(for)X
2036(the)X
2154(descriptors)X
2526(is)X
2599(de\256ned)X
2855(in)X
2 f
2937(<sys/uio.h>)X
1 f
3347(as:)X
864 1084(struct)N
1062(iovec)X
1256({)X
1044 1180(char)N
1351(*iov_base;)X
1818(/*)X
1900(base)X
2063(of)X
2150(a)X
2206(component)X
2582(*/)X
1044 1276(size_t)N
1351(iov_len;)X
1818(/*)X
1900(length)X
2120(of)X
2207(a)X
2263(component)X
2639(*/)X
864 1372(};)N
576 1592(The)N
2 f
722(iov_base)X
1 f
1028(\256eld)X
1191(should)X
1425(be)X
1522(treated)X
1762(as)X
1850(if)X
1920(its)X
2016(type)X
2175(were)X
2353(``void)X
2570(*'')X
2685(as)X
2773(POSIX)X
3026(and)X
3164(other)X
3351(versions)X
3640(of)X
3729(the)X
3849(struc-)X
576 1688(ture)N
721(may)X
879(use)X
1006(that)X
1146(type.)X
1344(Thus,)X
1544(pointer)X
1791(arithmetic)X
2136(should)X
2369(not)X
2491(use)X
2618(this)X
2753(value)X
2947(without)X
3211(a)X
3267(cast.)X
576 1812(The)N
721(calls)X
888(using)X
1081(an)X
1177(array)X
1363(of)X
2 f
1450(iovec)X
1 f
1640(structures)X
1972(are:)X
864 1956(cc)N
956(=)X
1021(readv\(fd,)X
1334(iov,)X
1476(iovlen\);)X
864 2052(result)N
1062(ssize_t)X
1300(cc;)X
1414(int)X
1518(fd;)X
1627(struct)X
1825(iovec)X
2019(*iov;)X
2203(int)X
2307(iovlen;)X
864 2244(cc)N
956(=)X
1021(writev\(fd,)X
1360(iov,)X
1502(iovlen\);)X
864 2340(result)N
1062(ssize_t)X
1300(cc;)X
1414(int)X
1518(fd;)X
1627(struct)X
1825(iovec)X
2019(*iov;)X
2203(int)X
2307(iovlen;)X
576 2484(Here)N
2 f
753(iovlen)X
1 f
969(is)X
1042(the)X
1160(count)X
1358(of)X
1445(elements)X
1750(in)X
1832(the)X
2 f
1950(iov)X
1 f
2068(array.)X
3 f
576 2676(2.1.2.)N
796(Input/output)X
1254(control)X
1 f
576 2828(Control)N
840(operations)X
1194(on)X
1294(an)X
1390(object)X
1606(are)X
1725(performed)X
2080(by)X
2180(the)X
2 f
2298(ioctl)X
1 f
2460(operation:)X
864 2972(ioctl\(fd,)N
1140(request,)X
1412(buffer\);)X
864 3068(int)N
968(fd;)X
1077(u_long)X
1319(request;)X
1593(caddr_t)X
1854(buffer;)X
576 3212(This)N
754(operation)X
1093(causes)X
1339(the)X
1473(speci\256ed)X
2 f
1794(request)X
1 f
2067(to)X
2166(be)X
2279(performed)X
2651(on)X
2768(the)X
2903(object)X
2 f
3136(fd)X
1 f
3198(.)X
3275(The)X
2 f
3437(request)X
1 f
3710(parameter)X
576 3308(speci\256es)N
878(whether)X
1163(the)X
1287(argument)X
1616(buffer)X
1839(is)X
1918(to)X
2006(be)X
2108(read,)X
2293(written,)X
2566(read)X
2731(and)X
2873(written,)X
3146(or)X
3239(is)X
3318(not)X
3446(used,)X
3639(and)X
3780(also)X
3934(the)X
576 3404(size)N
728(of)X
822(the)X
947(buffer,)X
1191(as)X
1285(well)X
1450(as)X
1544(the)X
1669(request.)X
1968(Different)X
2290(descriptor)X
2638(types)X
2834(and)X
2977(subtypes)X
3284(within)X
3515(descriptor)X
3863(types)X
576 3500(may)N
741(use)X
875(distinct)X
2 f
1137(ioctl)X
1 f
1306(requests.)X
1616(For)X
1754(example,)X
2073(operations)X
2434(on)X
2541(terminals)X
2866(control)X
3120(\257ushing)X
3403(of)X
3496(input)X
3686(and)X
3828(output)X
576 3596(queues)N
820(and)X
957(setting)X
1191(of)X
1279(terminal)X
1567(parameters;)X
1963(operations)X
2318(on)X
2419(disks)X
2604(cause)X
2804(formatting)X
3163(operations)X
3519(to)X
3603(occur;)X
3826(opera-)X
576 3692(tions)N
784(on)X
917(tapes)X
1135(control)X
1414(tape)X
1600(positioning.)X
2051(The)X
2228(names)X
2485(for)X
2631(basic)X
2848(control)X
3127(operations)X
3513(are)X
3664(de\256ned)X
3952(by)X
2 f
576 3788(<sys/ioctl.h>)N
1 f
1006(,)X
1046(or)X
1133(more)X
1318(speci\256cally)X
1703(by)X
1803(\256les)X
1956(it)X
2020(includes.)X
3 f
576 3980(2.1.3.)N
796(Non-blocking)X
1277(and)X
1425(asynchronous)X
1915(operations)X
1 f
776 4132(A)N
860(process)X
1127(that)X
1273(wishes)X
1517(to)X
1605(do)X
1711(non-blocking)X
2164(operations)X
2525(on)X
2632(one)X
2775(of)X
2869(its)X
2971(descriptors)X
3350(sets)X
3497(the)X
3622(descriptor)X
3970(in)X
576 4228(non-blocking)N
1025(mode)X
1225(as)X
1314(described)X
1643(in)X
1726(section)X
1974(1.5.4.)X
2195(Thereafter)X
2552(the)X
2 f
2671(read)X
1 f
2839(call)X
2976(will)X
3121(return)X
3334(a)X
3391(speci\256c)X
3657(EWOULD-)X
576 4324(BLOCK)N
869(error)X
1048(indication)X
1390(if)X
1461(there)X
1644(is)X
1719(no)X
1822(data)X
1979(to)X
2064(be)X
2 f
2163(read)X
1 f
2310(.)X
2373(The)X
2521(process)X
2785(may)X
2 f
2946(select)X
1 f
3152(the)X
3273(associated)X
3626(descriptor)X
3970(to)X
576 4420(determine)N
917(when)X
1111(a)X
1167(read)X
1326(is)X
1399(possible.)X
776 4544(Output)N
1023(attempted)X
1364(when)X
1563(a)X
1624(descriptor)X
1970(can)X
2107(accept)X
2338(less)X
2483(than)X
2646(is)X
2724(requested)X
3057(will)X
3206(either)X
3414(accept)X
3646(some)X
3841(of)X
3934(the)X
576 4640(provided)N
883(data,)X
1059(returning)X
1375(a)X
1433(shorter)X
1678(than)X
1838(normal)X
2087(length,)X
2329(or)X
2418(return)X
2632(an)X
2729(error)X
2907(indicating)X
3248(that)X
3389(the)X
3508(operation)X
3832(would)X
576 4736(block.)N
814(More)X
1008(output)X
1232(can)X
1364(be)X
1460(performed)X
1815(as)X
1902(soon)X
2073(as)X
2160(a)X
2 f
2216(select)X
1 f
2419(call)X
2555(indicates)X
2860(the)X
2978(object)X
3194(is)X
3267(writable.)X
776 4860(Operations)N
1162(other)X
1361(than)X
1533(data)X
1701(input)X
1900(or)X
2002(output)X
2241(may)X
2414(be)X
2525(performed)X
2895(on)X
3010(a)X
3081(descriptor)X
3437(in)X
3534(a)X
3605(non-blocking)X
576 4956(fashion.)N
876(These)X
1092(operations)X
1450(will)X
1598(return)X
1814(with)X
1980(a)X
2040(characteristic)X
2493(error)X
2673(indicating)X
3016(that)X
3159(they)X
3320(are)X
3442(in)X
3527(progress)X
3822(if)X
3894(they)X
576 5052(cannot)N
815(complete)X
1134(immediately.)X
1599(The)X
1749(descriptor)X
2095(may)X
2258(then)X
2421(be)X
2 f
2522(select)X
1 f
2705('ed)X
2833(for)X
2 f
2952(write)X
1 f
3141(to)X
3228(\256nd)X
3377(out)X
3504(when)X
3703(the)X
3826(opera-)X
576 5148(tion)N
731(has)X
869(been)X
1051(completed.)X
1455(When)X
2 f
1677(select)X
1 f
1890(indicates)X
2205(the)X
2333(descriptor)X
2684(is)X
2767(writable,)X
3080(the)X
3208(operation)X
3541(has)X
3678(completed.)X
576 5244(Depending)N
952(on)X
1056(the)X
1178(nature)X
1403(of)X
1494(the)X
1616(descriptor)X
1961(and)X
2101(the)X
2223(operation,)X
2570(additional)X
2915(activity)X
3180(may)X
3343(be)X
3444(started)X
3683(or)X
3775(the)X
3898(new)X
24 p
%%Page: 24 22
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-24)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
576 672(state)N
743(may)X
901(be)X
997(tested.)X
3 f
576 864(2.2.)N
736(Filesystem)X
576 1084(2.2.1.)N
796(Overview)X
1 f
776 1236(The)N
922(\256lesystem)X
1267(abstraction)X
1640(provides)X
1937(access)X
2164(to)X
2247(a)X
2305(hierarchical)X
2707(\256lesystem)X
3053(structure.)X
3396(The)X
3543(\256lesystem)X
3889(con-)X
576 1332(tains)N
749(directories)X
1110(\(each)X
1307(of)X
1396(which)X
1614(may)X
1774(contain)X
2032(sub-directories\))X
2557(as)X
2645(well)X
2804(as)X
2892(\256les)X
3046(and)X
3183 0.3889(references)AX
3536(to)X
3619(other)X
3805(objects)X
576 1428(such)N
743(as)X
830(devices)X
1091(and)X
1227(inter-process)X
1662(communications)X
2211(sockets.)X
776 1552(Each)N
959(\256le)X
1083(is)X
1158(organized)X
1497(as)X
1586(a)X
1644(linear)X
1849(array)X
2037(of)X
2126(bytes.)X
2357(No)X
2477(record)X
2705(boundaries)X
3079(or)X
3168(system)X
3412(related)X
3654(information)X
576 1648(is)N
651(present)X
905(in)X
989(a)X
1047(\256le.)X
1211(Files)X
1388(may)X
1548(be)X
1646(read)X
1807(and)X
1945(written)X
2194(in)X
2278(a)X
2336(random-access)X
2836(fashion.)X
3134(If)X
3210(permitted)X
3539(by)X
3641(the)X
3760(underly-)X
576 1744(ing)N
698(storage)X
950(mechanism,)X
1356(the)X
1475(user)X
1630(may)X
1789(read)X
1949(the)X
2068(data)X
2223(in)X
2306(a)X
2363(directory)X
2674(as)X
2762(though)X
3005(it)X
3070(were)X
3248(an)X
3345(ordinary)X
3638(\256le)X
3761(to)X
3844(deter-)X
576 1840(mine)N
756(the)X
874(names)X
1099(of)X
1186(the)X
1304(contained)X
1636(\256les,)X
1809(but)X
1931(only)X
2093(the)X
2211(system)X
2453(may)X
2611(write)X
2796(into)X
2940(the)X
3058(directories.)X
3 f
576 2032(2.2.2.)N
796(Naming)X
1 f
776 2184(The)N
933(\256lesystem)X
1290(calls)X
1470(take)X
2 f
1637(path)X
1812(name)X
1 f
2019(arguments.)X
2426(These)X
2651(consist)X
2906(of)X
3006(a)X
3075(zero)X
3247(or)X
3347(more)X
3545(component)X
2 f
3934(\256le)X
576 2280(names)N
1 f
806(separated)X
1135(by)X
1240(``/)X
1322('')X
1400(characters,)X
1771(where)X
1992(each)X
2164(\256le)X
2290(name)X
2488(is)X
2565(up)X
2669(to)X
2755(NAME_MAX)X
3242(\(255\))X
3440(characters)X
3791(exclud-)X
576 2376(ing)N
698(null)X
842(and)X
978(``/)X
1060(''.)X
1174(Each)X
1355(pathname)X
1687(is)X
1760(up)X
1860(to)X
1942(PATH_MAX)X
2398(\(1024\))X
2632(characters)X
2979(excluding)X
3315(null.)X
776 2500(Each)N
963(process)X
1230(always)X
1479(has)X
1612(two)X
1758(naming)X
2025(contexts:)X
2341(one)X
2484(for)X
2605(the)X
2730(root)X
2886(directory)X
3203(of)X
3297(the)X
3422(\256lesystem)X
3773(and)X
3916(one)X
576 2596(for)N
697(the)X
822(current)X
1077(working)X
1371(directory.)X
1728(These)X
1947(are)X
2073(used)X
2247(by)X
2354(the)X
2479(system)X
2728(in)X
2817(the)X
2942(\256lename)X
3245(translation)X
3609(process.)X
3916(If)X
3996(a)X
576 2692(path)N
735(name)X
930(begins)X
1160(with)X
1323(a)X
1380(``/)X
1462('',)X
1557(it)X
1622(is)X
1696(called)X
1909(a)X
1966(full)X
2098(path)X
2257(name)X
2452(and)X
2589(interpreted)X
2959(relative)X
3222(to)X
3306(the)X
3426(root)X
3577(directory)X
3889(con-)X
576 2788(text.)N
758(If)X
834(the)X
954(path)X
1114(name)X
1310(does)X
1478(not)X
1601(begin)X
1800(with)X
1963(a)X
2020(``/)X
2102('')X
2177(it)X
2242(is)X
2316(called)X
2529(a)X
2586(relative)X
2848(path)X
3007(name)X
3202(and)X
3339(interpreted)X
3708(relative)X
3970(to)X
576 2884(the)N
694(current)X
942(directory)X
1252(context.)X
776 3008(The)N
929(\256le)X
1059(name)X
1261(``.'')X
1417(in)X
1507(each)X
1683(directory)X
2001(refers)X
2213(to)X
2303(that)X
2451(directory.)X
2809(The)X
2963(\256le)X
3094(name)X
3297(``..'')X
3474(in)X
3565(each)X
3742(directory)X
576 3104(refers)N
780(to)X
862(the)X
980(parent)X
1201(directory)X
1511(of)X
1598(that)X
1738(directory.)X
2088(The)X
2233(parent)X
2454(directory)X
2764(of)X
2851(the)X
2969(root)X
3118(of)X
3205(the)X
3323(\256lesystem)X
3667(is)X
3740(itself.)X
576 3228(The)N
721(calls:)X
864 3372(chdir\(path\);)N
864 3468(char)N
1023(*path;)X
864 3660(fchdir\(fd\);)N
864 3756(int)N
968(fd;)X
864 3948(chroot\(path\);)N
864 4044(char)N
1023(*path;)X
576 4188(change)N
839(the)X
972(current)X
1235(working)X
1537(directory)X
1862(or)X
1964(root)X
2129(directory)X
2455(context)X
2727(of)X
2830(a)X
2902(process.)X
3219(Only)X
3415(the)X
3549(super-user)X
3920(can)X
576 4284(change)N
824(the)X
942(root)X
1091(directory)X
1401(context)X
1657(of)X
1744(a)X
1800(process.)X
576 4408(Information)N
979(about)X
1177(a)X
1233(\256lesystem)X
1577(that)X
1717(contains)X
2004(a)X
2060(particular)X
2388(\256le)X
2510(can)X
2642(be)X
2738(obtained)X
3034(using)X
3227(the)X
3345(calls:)X
864 4552(statfs\(path,)N
1238(buf\);)X
864 4648(char)N
1023(*path;)X
1243(struct)X
1441(statfs)X
1630(*buf;)X
864 4840(fstatfs\(fd,)N
1194(buf\);)X
864 4936(int)N
968(fd;)X
1077(struct)X
1275(statfs)X
1464(*buf;)X
3 f
576 5176(2.2.3.)N
796(Creation)X
1119(and)X
1267(removal)X
1 f
776 5328(The)N
922(\256lesystem)X
1267(allows)X
1497(directories,)X
1877(\256les,)X
2051(special)X
2295(devices,)X
2577(and)X
2714(\256fos)X
2878(to)X
2962(be)X
3060(created)X
3315(and)X
3453(removed)X
3756(from)X
3934(the)X
576 5424(\256lesystem.)N
25 p
%%Page: 25 23
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-25)X
3 f
576 672(2.2.3.1.)N
856(Directory)X
1207(creation)X
1508(and)X
1656(removal)X
1 f
576 824(A)N
654(directory)X
964(is)X
1037(created)X
1290(with)X
1452(the)X
2 f
1570(mkdir)X
1 f
1777(system)X
2019(call:)X
864 968(mkdir\(path,)N
1260(mode\);)X
864 1064(char)N
1023(*path;)X
1243(mode_t)X
1503(mode;)X
576 1208(where)N
795(the)X
915(mode)X
1115(is)X
1190(de\256ned)X
1448(as)X
1537(for)X
1653(\256les)X
1808(\(see)X
1960(section)X
2209(2.2.3.2\).)X
2518(Directories)X
2897(are)X
3018(removed)X
3321(with)X
3485(the)X
2 f
3605(rmdir)X
1 f
3810(system)X
576 1304(call:)N
864 1448(rmdir\(path\);)N
864 1544(char)N
1023(*path;)X
576 1688(A)N
654(directory)X
964(must)X
1139(be)X
1235(empty)X
1455(\(other)X
1667(than)X
1825(the)X
1943(entries)X
2177(``.'')X
2325(and)X
2461(``..''\))X
2676(if)X
2745(it)X
2809(is)X
2882(to)X
2964(be)X
3060(deleted.)X
576 1812(Although)N
898(directories)X
1257(can)X
1389(be)X
1485(read)X
1644(as)X
1731(\256les,)X
1904(the)X
2022(usual)X
2211(interface)X
2513(is)X
2586(to)X
2668(use)X
2795(the)X
2913(call:)X
864 1956(getdirentries\(fd,)N
1399(buf,)X
1546(nbytes,)X
1795(basep\);)X
864 2052(int)N
968(fd;)X
1077(char)X
1236(*buf;)X
1425(int)X
1529(nbytes;)X
1780(long)X
1942(*basep;)X
576 2196(The)N
2 f
729(getdirentries)X
1 f
1166(system)X
1417(call)X
1562(returns)X
1814(a)X
1879(canonical)X
2216(array)X
2411(of)X
2507(directory)X
2826(entries)X
3069(in)X
3160(the)X
3287(\256lesystem)X
3640(independent)X
576 2292(format)N
820(described)X
1158(in)X
2 f
1250(<dirent.h>)X
1 f
1609(.)X
1679(Application)X
2087(programs)X
2420(usually)X
2681(use)X
2817(the)X
2944(library)X
3187(routines)X
2 f
3474(opendir)X
1 f
3723(,)X
2 f
3772(readdir)X
1 f
(,)S
576 2388(and)N
2 f
713(closedir)X
1 f
992(which)X
1209(provide)X
1475(a)X
1532(more)X
1718(convenient)X
2091(interface)X
2395(than)X
2 f
2555(getdirentries)X
1 f
2964(.)X
3026(The)X
2 f
3173(fts)X
1 f
3270(package)X
3556(is)X
3631(provided)X
3938(for)X
576 2484(recursive)N
891(directory)X
1201(traversal.)X
3 f
576 2676(2.2.3.2.)N
856(File)X
1005(creation)X
1 f
576 2828(Files)N
751(are)X
870(opened)X
1122(and/or)X
1347(created)X
1600(with)X
1762(the)X
2 f
1880(open)X
1 f
2056(system)X
2298(call:)X
864 2972(fd)N
951(=)X
1016(open\(path,)X
1377(o\257ag,)X
1577(mode\);)X
864 3068(result)N
1062(int)X
1166(fd;)X
1275(char)X
1434(*path;)X
1654(int)X
1758(o\257ag;)X
1960(mode_t)X
2220(mode;)X
576 3212(The)N
2 f
741(path)X
1 f
923(parameter)X
1285(speci\256es)X
1601(the)X
1739(name)X
1953(of)X
2060(the)X
2198(\256le)X
2340(to)X
2442(be)X
2558(opened.)X
2870(The)X
2 f
3036(o\257ag)X
1 f
3237(parameter)X
3600(must)X
3796(include)X
576 3308(O_CREAT)N
956(to)X
1038(cause)X
1237(the)X
1355(\256le)X
1477(to)X
1559(be)X
1655(created.)X
1948(Bits)X
2096(for)X
2 f
2210(o\257ag)X
1 f
2390(are)X
2509(de\256ned)X
2765(in)X
2 f
2847(<sys/fcntl.h>)X
1 f
3277(:)X
864 3500(O_RDONLY)N
1527(/*)X
1609(open)X
1785(for)X
1899(reading)X
2160(only)X
2322(*/)X
864 3596(O_WRONLY)N
1527(/*)X
1609(open)X
1785(for)X
1899(writing)X
2150(only)X
2312(*/)X
864 3692(O_RDWR)N
1527(/*)X
1609(open)X
1785(for)X
1899(reading)X
2160(and)X
2296(writing)X
2547(*/)X
864 3788(O_NONBLOCK)N
1527(/*)X
1609(no)X
1709(delay)X
1903(*/)X
864 3884(O_APPEND)N
1527(/*)X
1609(set)X
1718(append)X
1970(mode)X
2168(*/)X
864 3980(O_SHLOCK)N
1527(/*)X
1609(open)X
1785(with)X
1947(shared)X
2177(\256le)X
2299(lock)X
2457(*/)X
864 4076(O_EXLOCK)N
1527(/*)X
1609(open)X
1785(with)X
1947(exclusive)X
2270(\256le)X
2392(lock)X
2550(*/)X
864 4172(O_ASYNC)N
1527(/*)X
1609(signal)X
1820(pgrp)X
1987(when)X
2181(data)X
2335(ready)X
2534(*/)X
864 4268(O_FSYNC)N
1527(/*)X
1609(synchronous)X
2034(writes)X
2250(*/)X
864 4364(O_CREAT)N
1527(/*)X
1609(create)X
1822(if)X
1891(nonexistent)X
2280(*/)X
864 4460(O_TRUNC)N
1527(/*)X
1609(truncate)X
1888(to)X
1970(zero)X
2129(length)X
2349(*/)X
864 4556(O_EXCL)N
1527(/*)X
1609(error)X
1786(if)X
1855(already)X
2112(exists)X
2314(*/)X
776 4776(One)N
942(of)X
1041(O_RDONLY,)X
1525(O_WRONLY)X
2008(and)X
2157(O_RDWR)X
2528(should)X
2774(be)X
2883(speci\256ed,)X
3221(indicating)X
3574(what)X
3763(types)X
3965(of)X
576 4872(operations)N
931(are)X
1051(desired)X
1304(to)X
1387(be)X
1484(done)X
1661(on)X
1762(the)X
1881(open)X
2058(\256le.)X
2221(The)X
2367(operations)X
2722(will)X
2867(be)X
2964(checked)X
3249(against)X
3496(the)X
3614(user's)X
3826(access)X
576 4968(rights)N
791(to)X
886(the)X
1017(\256le)X
1152(before)X
1391(allowing)X
1704(the)X
2 f
1835(open)X
1 f
2024(to)X
2119(succeed.)X
2448(Specifying)X
2829(O_APPEND)X
3272(causes)X
3516(all)X
3630(writes)X
3860(to)X
3956(be)X
576 5064(appended)N
924(to)X
1026(the)X
1164(\256le.)X
1346(Specifying)X
1733(O_TRUNC)X
2142(causes)X
2392(the)X
2529(\256le)X
2670(to)X
2771(be)X
2886(truncated)X
3224(when)X
3437(opened.)X
3748(The)X
3912(\257ag)X
576 5160(O_CREAT)N
958(causes)X
1191(the)X
1312(\256le)X
1437(to)X
1522(be)X
1621(created)X
1877(if)X
1949(it)X
2016(does)X
2186(not)X
2311(exist,)X
2505(owned)X
2742(by)X
2845(the)X
2966(current)X
3217(user)X
3374(and)X
3513(the)X
3634(group)X
3844(of)X
3934(the)X
576 5256(containing)N
940(directory.)X
1295(The)X
1445(permissions)X
1852(for)X
1971(the)X
2094(new)X
2253(\256le)X
2380(are)X
2504(speci\256ed)X
2814(in)X
2 f
2901(mode)X
1 f
3100(as)X
3192(the)X
3315(OR)X
3451(of)X
3543(the)X
3666(appropriate)X
576 5352(permissions)N
978(as)X
1065(de\256ned)X
1321(in)X
2 f
1403(<sys/stat.h>)X
1 f
1806(:)X
26 p
%%Page: 26 24
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-26)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
864 768(S_IRWXU)N
1844(/*)X
1926(RWX)X
2133(for)X
2247(owner)X
2468(*/)X
864 864(S_IRUSR)N
1844(/*)X
1926(R)X
1999(for)X
2113(owner)X
2334(*/)X
864 960(S_IWUSR)N
1844(/*)X
1926(W)X
2022(for)X
2136(owner)X
2357(*/)X
864 1056(S_IXUSR)N
1844(/*)X
1926(X)X
2004(for)X
2118(owner)X
2339(*/)X
864 1152(S_IRWXG)N
1844(/*)X
1926(RWX)X
2133(for)X
2247(group)X
2454(*/)X
864 1248(S_IRGRP)N
1844(/*)X
1926(R)X
1999(for)X
2113(group)X
2320(*/)X
864 1344(S_IWGRP)N
1844(/*)X
1926(W)X
2022(for)X
2136(group)X
2343(*/)X
864 1440(S_IXGRP)N
1844(/*)X
1926(X)X
2004(for)X
2118(group)X
2325(*/)X
864 1536(S_IRWXO)N
1844(/*)X
1926(RWX)X
2133(for)X
2247(other)X
2432(*/)X
864 1632(S_IROTH)N
1844(/*)X
1926(R)X
1999(for)X
2113(other)X
2298(*/)X
864 1728(S_IWOTH)N
1844(/*)X
1926(W)X
2022(for)X
2136(other)X
2321(*/)X
864 1824(S_IXOTH)N
1844(/*)X
1926(X)X
2004(for)X
2118(other)X
2303(*/)X
864 1920(S_ISUID)N
1844(/*)X
1926(set)X
2035(user)X
2189(id)X
2271(*/)X
864 2016(S_ISGID)N
1182(/*)X
1264(set)X
1373(group)X
1580(id)X
1662(*/)X
864 2112(S_ISTXT)N
1195(/*)X
1277(sticky)X
1488(bit)X
1592(*/)X
576 2332(Historically,)N
995(the)X
1114(\256le)X
1238(mode)X
1438(has)X
1567(been)X
1741(used)X
1910(as)X
1999(a)X
2057(four)X
2213(digit)X
2381(octal)X
2559(number.)X
2866(The)X
3013(bottom)X
3261(three)X
3444(digits)X
3643(encode)X
3893(read)X
576 2428(access)N
803(as)X
891(4,)X
971(write)X
1156(access)X
1382(as)X
1469(2)X
1529(and)X
1665(execute)X
1931(access)X
2157(as)X
2244(1,)X
2324(or'ed)X
2514(together.)X
2837(The)X
2982(0700)X
3162(bits)X
3297(describe)X
3585(owner)X
3806(access,)X
576 2524(the)N
698(070)X
842(bits)X
981(describe)X
1273(the)X
1395(access)X
1625(rights)X
1831(for)X
1949(processes)X
2281(in)X
2368(the)X
2491(same)X
2681(group)X
2893(as)X
2985(the)X
3108(\256le,)X
3255(and)X
3396(the)X
3519(07)X
3624(bits)X
3764(describe)X
576 2620(the)N
697(access)X
926(rights)X
1131(for)X
1248(other)X
1436(processes.)X
1807(The)X
1955(7000)X
2138(bits)X
2276(encode)X
2527(set)X
2639(user)X
2796(ID)X
2904(as)X
2994(4000,)X
3197(set)X
3309(group)X
3518(ID)X
3625(as)X
3714(2000,)X
3916(and)X
576 2716(the)N
695(sticky)X
907(bit)X
1012(as)X
1100(1000.)X
1321(The)X
1467(mode)X
1666(speci\256ed)X
1972(to)X
2 f
2055(open)X
1 f
2232(is)X
2306(modi\256ed)X
2611(by)X
2712(the)X
2831(process)X
2 f
3094(umask)X
1 f
3299(;)X
3343(permissions)X
3747(speci\256ed)X
576 2812(in)N
658(the)X
2 f
776(umask)X
1 f
1001(are)X
1120(cleared)X
1373(in)X
1455(the)X
1573(mode)X
1771(of)X
1858(the)X
1976(created)X
2229(\256le.)X
2391(The)X
2 f
2536(umask)X
1 f
2761(can)X
2893(be)X
2989(changed)X
3277(with)X
3439(the)X
3557(call:)X
864 2956(oldmask)N
1155(=)X
1220(umask\(newmask\);)X
864 3052(result)N
1062(mode_t)X
1322(oldmask;)X
1635(mode_t)X
1895(newmask;)X
776 3224(If)N
851(the)X
970(O_EXCL)X
1298(\257ag)X
1439(is)X
1513(set,)X
1643(and)X
1780(the)X
1899(\256le)X
2022(already)X
2280(exists,)X
2503(then)X
2663(the)X
2 f
2783(open)X
1 f
2961(will)X
3107(fail)X
3236(without)X
3502(affecting)X
3810(the)X
3930(\256le)X
576 3320(in)N
673(any)X
824(way.)X
1033(This)X
1210(mechanism)X
1610(provides)X
1921(a)X
1992(simple)X
2240(exclusive)X
2578(access)X
2819(facility.)X
3121(For)X
3267(security)X
3556(reasons,)X
3851(if)X
3934(the)X
576 3416(O_EXCL)N
906(\257ag)X
1050(is)X
1127(set)X
1240(and)X
1380(the)X
1502(\256le)X
1628(is)X
1705(a)X
1765(symbolic)X
2082(link,)X
2250(the)X
2372(open)X
2552(will)X
2700(fail)X
2831(regardless)X
3181(of)X
3272(the)X
3394(existence)X
3717(of)X
3808(the)X
3930(\256le)X
576 3512 0.4028(referenced)AN
946(by)X
1055(the)X
1182(link.)X
1375(The)X
1529(O_SHLOCK)X
1976(and)X
2121(O_EXLOCK)X
2572(\257ags)X
2751(allow)X
2957(the)X
3083(\256le)X
3213(to)X
3303(be)X
3407(atomically)X
2 f
3773(open)X
1 f
3929('ed)X
576 3608(and)N
2 f
725(\257ock)X
1 f
877('ed;)X
1035(see)X
1171(section)X
1431(2.2.7)X
1624(for)X
1751(the)X
1882(semantics)X
2231(of)X
2 f
2331(\257ock)X
1 f
2516(style)X
2700(locks.)X
2943(The)X
3102(O_ASYNC)X
3505(\257ag)X
3659(enables)X
3934(the)X
576 3704(SIGIO)N
812(signal)X
1025(to)X
1108(be)X
1205(sent)X
1355(to)X
1438(the)X
1557(process)X
1819(group)X
2027(of)X
2115(the)X
2234(opening)X
2513(process)X
2775(when)X
2970(I/O)X
3098(is)X
3172(possible,)X
3475(e.g.,)X
3632(upon)X
3813(availa-)X
576 3800(bility)N
764(of)X
851(data)X
1005(to)X
1087(be)X
1183(read.)X
3 f
576 3992(2.2.3.3.)N
856(Creating)X
1179 0.3611(references)AX
1553(to)X
1640(devices)X
1 f
776 4144(The)N
930(\256lesystem)X
1283(allows)X
1521(entries)X
1765(which)X
1991 0.4531(reference)AX
2322(peripheral)X
2678(devices.)X
2989(Peripherals)X
3380(are)X
3509(distinguished)X
3965(as)X
2 f
576 4240(block)N
1 f
782(or)X
2 f
881(character)X
1 f
1225(devices)X
1498(according)X
1847(by)X
1959(their)X
2138(ability)X
2374(to)X
2468(support)X
2739(block-oriented)X
3238(operations.)X
3643(Devices)X
3933(are)X
576 4336(identi\256ed)N
901(by)X
1004(their)X
1174(``major'')X
1492(and)X
1632(``minor'')X
1955(device)X
2189(numbers.)X
2529(The)X
2678(major)X
2889(device)X
3123(number)X
3392(determines)X
3768(the)X
3890(kind)X
576 4432(of)N
666(peripheral)X
1015(it)X
1082(is,)X
1178(while)X
1379(the)X
1500(minor)X
1714(device)X
1947(number)X
2215(indicates)X
2523(either)X
2729(one)X
2867(of)X
2956(possibly)X
3244(many)X
3444(peripherals)X
3823(of)X
3912(that)X
576 4528(kind,)N
762(or)X
853(special)X
1100(characteristics)X
1585(of)X
1677(the)X
1800(peripheral.)X
2191(Structured)X
2550(devices)X
2816(have)X
2993(all)X
3098(operations)X
3457(done)X
3638(internally)X
3970(in)X
576 4624(``block'')N
887(quantities)X
1223(while)X
1426(unstructured)X
1852(devices)X
2118(may)X
2281(have)X
2458(input)X
2647(and)X
2788(output)X
3017(done)X
3198(in)X
3285(varying)X
3555(units,)X
3754(and)X
3894(may)X
576 4720(act)N
690(as)X
777(a)X
833(non-seekable)X
1277(communications)X
1826(channel)X
2096(rather)X
2304(than)X
2463(a)X
2520(random-access)X
3019(device.)X
3290(The)X
2 f
3436(mknod)X
1 f
3671(call)X
3808(creates)X
576 4816(special)N
819(entries:)X
864 4960(mknod\(path,)N
1291(mode,)X
1509(dev\);)X
864 5056(char)N
1023(*path;)X
1243(mode_t)X
1503(mode;)X
1723(dev_t)X
1921(dev;)X
576 5200(where)N
2 f
797(mode)X
1 f
995(is)X
1072(formed)X
1328(from)X
1508(the)X
1630(object)X
1850(type)X
2013(and)X
2154(access)X
2385(permissions.)X
2832(The)X
2982(parameter)X
2 f
3329(dev)X
1 f
3466(is)X
3544(a)X
3605(con\256guration)X
576 5296(dependent)N
926(parameter)X
1268(used)X
1435(to)X
1517(identify)X
1786(speci\256c)X
2051(character)X
2367(or)X
2454(block)X
2652(I/O)X
2779(devices.)X
576 5420(Fifo's)N
787(can)X
919(be)X
1015(created)X
1268(in)X
1350(the)X
1468(\256lesystem)X
1812(using)X
2005(the)X
2123(call:)X
864 5564(mk\256fo\(path,)N
1282(mode\);)X
864 5660(char)N
1023(*path;)X
1243(mode_t)X
1503(mode;)X
576 5804(The)N
2 f
721(mode)X
1 f
915(parameter)X
1257(is)X
1330(used)X
1497(solely)X
1708(to)X
1790(specify)X
2042(the)X
2160(access)X
2386(permissions)X
2788(of)X
2875(the)X
2993(newly)X
3209(created)X
3462(\256fo.)X
27 p
%%Page: 27 25
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-27)X
3 f
576 672(2.2.3.4.)N
856(Links)X
1070(and)X
1218(renaming)X
1 f
776 824(Links)N
979(allow)X
1178(multiple)X
1465(names)X
1691(for)X
1806(a)X
1864(\256le)X
1988(to)X
2072(exist.)X
2285(Links)X
2489(exist)X
2662(independently)X
3138(of)X
3227(the)X
3347(\256le)X
3471(to)X
3555(which)X
3773(they)X
3933(are)X
576 920(linked.)N
776 1044(Two)N
944(types)X
1135(of)X
1224(links)X
1401(exist,)X
2 f
1594(hard)X
1 f
1767(links)X
1944(and)X
2 f
2082(symbolic)X
1 f
2389(links.)X
2606(A)X
2686(hard)X
2851(link)X
2997(is)X
3072(a)X
3130 0.4531(reference)AX
3453(counting)X
3755(mechan-)X
576 1140(ism)N
716(that)X
861(allows)X
1095(a)X
1156(\256le)X
1283(to)X
1370(have)X
1547(multiple)X
1838(names)X
2068(within)X
2297(the)X
2419(same)X
2608(\256lesystem.)X
2996(Each)X
3181(link)X
3329(to)X
3415(a)X
3475(\256le)X
3601(is)X
3678(equivalent,)X
576 1236(referring)N
884(to)X
972(the)X
1096(\256le)X
1224(independently)X
1704(of)X
1797(any)X
1939(other)X
2130(name.)X
2370(Symbolic)X
2702(links)X
2884(cause)X
3090(string)X
3299(substitution)X
3698(during)X
3934(the)X
576 1332(pathname)N
908(interpretation)X
1360(process,)X
1641(and)X
1777(refer)X
1950(to)X
2032(a)X
2088(\256le)X
2210(name)X
2404(rather)X
2612(than)X
2770(referring)X
3072(directly)X
3337(to)X
3419(a)X
3475(\256le.)X
776 1456(Hard)N
961(links)X
1140(and)X
1280(symbolic)X
1597(links)X
1776(have)X
1952(different)X
2253(properties.)X
2639(A)X
2722(hard)X
2890(link)X
3039(ensures)X
3305(that)X
3450(the)X
3573(target)X
3781(\256le)X
3908(will)X
576 1552(always)N
821(be)X
919(accessible,)X
1287(even)X
1461(after)X
1631(its)X
1728(original)X
1999(directory)X
2310(entry)X
2496(is)X
2570(removed;)X
2894(no)X
2995(such)X
3163(guarantee)X
3497(exists)X
3700(for)X
3815(a)X
3872(sym-)X
576 1648(bolic)N
759(link.)X
946(Unlike)X
1187(hard)X
1353(links,)X
1551(symbolic)X
1867(links)X
2045(can)X
2180 0.4464(refernce)AX
2468(directories)X
2830(and)X
2969(span)X
3139(\256lesystems)X
3518(boundaries.)X
3934(An)X
2 f
576 1744(lstat)N
1 f
739(\(see)X
895(section)X
1147(2.2.4\))X
1359(call)X
1500(on)X
1605(a)X
1666(hard)X
1834(link)X
1983(will)X
2132(return)X
2349(the)X
2472(information)X
2875(about)X
3078(the)X
3201(\256le)X
3328(\(or)X
3447(directory\))X
3789(that)X
3934(the)X
576 1840(link)N
724 0.3889(references)AX
1080(while)X
1283(an)X
2 f
1384(lstat)X
1 f
1546(call)X
1687(on)X
1792(a)X
1853(symbolic)X
2171(link)X
2320(will)X
2469(return)X
2686(information)X
3089(about)X
3292(the)X
3415(link)X
3564(itself.)X
3789(A)X
3872(sym-)X
576 1936(bolic)N
761(link)X
910(does)X
1082(not)X
1209(have)X
1386(an)X
1486(owner,)X
1731(group,)X
1962(permissions,)X
2388(access)X
2618(and)X
2758(modi\256cation)X
3186(times,)X
3403(etc.)X
3561(The)X
3710(only)X
3876(attri-)X
576 2032(butes)N
769(returned)X
1061(from)X
1241(an)X
2 f
1341(lstat)X
1 f
1502(that)X
1646(refer)X
1823(to)X
1909(the)X
2031(symbolic)X
2348(link)X
2496(itself)X
2680(are)X
2803(the)X
2925(\256le)X
3051(type)X
3214(\(S_IFLNK\),)X
3633(size,)X
3803(blocks,)X
576 2128(and)N
712(link)X
856(count)X
1054(\(always)X
1324(1\).)X
1451(The)X
1596(other)X
1781(attributes)X
2099(are)X
2218(\256lled)X
2402(in)X
2484(from)X
2660(the)X
2778(directory)X
3088(that)X
3228(contains)X
3515(the)X
3633(link.)X
576 2252(The)N
721(following)X
1052(calls)X
1219(create)X
1432(a)X
1488(new)X
1642(link,)X
1806(named)X
2 f
2040(path2)X
1 f
2222(,)X
2262(to)X
2 f
2344(path1)X
1 f
2526(:)X
864 2396(link\(path1,)N
1233(path2\);)X
864 2492(char)N
1023(*path1,)X
1281(*path2;)X
864 2684(symlink\(path1,)N
1366(path2\);)X
864 2780(char)N
1023(*path1,)X
1281(*path2;)X
576 2924(The)N
2 f
721(unlink)X
1 f
941(primitive)X
1254(may)X
1412(be)X
1508(used)X
1675(to)X
1757(remove)X
2018(either)X
2221(type)X
2379(of)X
2466(link.)X
576 3048(If)N
650(a)X
706(\256le)X
828(is)X
901(a)X
957(symbolic)X
1270(link,)X
1434(the)X
1552(``value'')X
1854(of)X
1941(the)X
2059(link)X
2203(may)X
2361(be)X
2457(read)X
2616(with)X
2778(the)X
2 f
2896(readlink)X
1 f
3183(call:)X
864 3192(len)N
982(=)X
1047(readlink\(path,)X
1515(buf,)X
1662(bufsize\);)X
864 3288(result)N
1062(int)X
1166(len;)X
1306(char)X
1465(*path;)X
1685(result)X
1883(char)X
2042(*buf;)X
2231(int)X
2335(bufsize;)X
576 3432(This)N
748(call)X
894(returns,)X
1167(in)X
2 f
1259(buf)X
1 f
1361(,)X
1411(the)X
1539(string)X
1751(substituted)X
2127(into)X
2282(pathnames)X
2656(passing)X
2927(through)X
2 f
3207(path)X
1 f
3362(.)X
3433(\(This)X
3633(string)X
3846(is)X
3930(not)X
576 3528(NULL)N
810(terminated.\))X
576 3652(Atomic)N
836(renaming)X
1159(of)X
1246(\256lesystem)X
1590(resident)X
1864(objects)X
2111(is)X
2184(possible)X
2466(with)X
2628(the)X
2 f
2746(rename)X
1 f
3007(call:)X
864 3796(rename\(oldname,)N
1444(newname\);)X
864 3892(char)N
1023(*oldname,)X
1379(*newname;)X
576 4036(where)N
804(both)X
2 f
977(oldname)X
1 f
1284(and)X
2 f
1431(newname)X
1 f
1765(must)X
1951(be)X
2058(in)X
2151(the)X
2280(same)X
2476(\256lesystem.)X
2871(If)X
2956(either)X
2 f
3170(oldname)X
1 f
3477(or)X
2 f
3576(newname)X
1 f
3911(is)X
3996(a)X
576 4132(directory,)N
914(then)X
1080(the)X
1206(other)X
1399(also)X
1556(must)X
1739(be)X
1843(a)X
1907(directory)X
2225(for)X
2347(the)X
2 f
2473(rename)X
1 f
2742(to)X
2831(succeed.)X
3153(If)X
2 f
3234(newname)X
1 f
3564(exists)X
3773(and)X
3916(is)X
3996(a)X
576 4228(directory,)N
906(then)X
1064(it)X
1128(must)X
1303(be)X
1399(empty.)X
3 f
576 4420(2.2.3.5.)N
856(File,)X
1025(device,)X
1279(and)X
1427(\256fo)X
1558(removal)X
1 f
576 4572(A)N
654 0.4531(reference)AX
975(to)X
1057(a)X
1113(\256le,)X
1255(special)X
1498(device)X
1728(or)X
1815(\256fo)X
1946(may)X
2104(be)X
2200(removed)X
2501(with)X
2663(the)X
2 f
2781(unlink)X
1 f
3001(call:)X
864 4716(unlink\(path\);)N
864 4812(char)N
1023(*path;)X
576 4956(The)N
724(caller)X
926(must)X
1104(have)X
1279(write)X
1467(access)X
1696(to)X
1781(the)X
1902(directory)X
2215(in)X
2300(which)X
2519(the)X
2640(\256le)X
2766(is)X
2843(located)X
3099(for)X
3217(this)X
3356(call)X
3496(to)X
3582(be)X
3682(successful.)X
576 5052(When)N
790(the)X
909(last)X
1041(name)X
1236(for)X
1351(a)X
1408(\256le)X
1531(has)X
1659(been)X
1832(removed,)X
2154(the)X
2273(\256le)X
2396(may)X
2555(no)X
2656(longer)X
2882(be)X
2979(opened;)X
3254(the)X
3373(\256le)X
3496(itself)X
3677(is)X
3751(removed)X
576 5148(once)N
748(any)X
884(existing)X
1157 0.3889(references)AX
1509(have)X
1681(been)X
1853(closed.)X
576 5272(All)N
698(current)X
946(access)X
1172(to)X
1254(a)X
1310(\256le)X
1432(can)X
1564(be)X
1660(revoked)X
1939(using)X
2132(the)X
2250(call:)X
864 5416(revoke\(path\);)N
864 5512(char)N
1023(*path;)X
576 5656(Subsequent)N
974(operations)X
1337(on)X
1446(any)X
1591(descriptors)X
1972(open)X
2158(at)X
2246(the)X
2374(time)X
2546(of)X
2643(the)X
2 f
2771(revoke)X
1 f
3016(fail,)X
3173(with)X
3345(the)X
3473(exceptions)X
3846(that)X
3996(a)X
2 f
576 5752(close)N
1 f
766(call)X
907(will)X
1056(succeed,)X
1355(and)X
1495(a)X
2 f
1555(read)X
1 f
1726(from)X
1906(a)X
1966(character)X
2286(device)X
2520(\256le)X
2646(which)X
2866(has)X
2997(been)X
3173(revoked)X
3456(returns)X
3703(a)X
3763(count)X
3965(of)X
576 5848(zero)N
738(\(end)X
904(of)X
994(\256le\).)X
1186(If)X
1263(the)X
1384(\256le)X
1509(is)X
1585(a)X
1645(special)X
1892(\256le)X
2018(for)X
2136(a)X
2196(device)X
2430(which)X
2650(is)X
2727(open,)X
2927(the)X
3049(device)X
3283(close)X
3472(function)X
3763(is)X
3840(called)X
28 p
%%Page: 28 26
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-28)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
576 672(as)N
664(if)X
734(all)X
835(open)X
1012 0.3889(references)AX
1364(to)X
1446(the)X
1564(\256le)X
1686(had)X
1822(been)X
1994(closed.)X
2 f
2259(Open)X
1 f
2433('s)X
2511(done)X
2687(after)X
2855(the)X
2 f
2973(revoke)X
1 f
3208(may)X
3366(succeed.)X
3681(This)X
3843(call)X
3979(is)X
576 768(most)N
757(useful)X
979(for)X
1099(revoking)X
1410(access)X
1643(to)X
1732(a)X
1795(terminal)X
2089(line)X
2236(after)X
2411(a)X
2474(hangup)X
2737(in)X
2826(preparation)X
3219(for)X
3340(reuse)X
3537(by)X
3644(a)X
3707(new)X
3868(login)X
576 864(session.)N
872(Access)X
1125(to)X
1212(a)X
1273(controlling)X
1649(terminal)X
1941(is)X
2019(automatically)X
2480(revoked)X
2764(when)X
2963(the)X
3085(session)X
3340(leader)X
3561(for)X
3679(the)X
3801(session)X
576 960(exits.)N
3 f
576 1152(2.2.4.)N
796(Reading)X
1100(and)X
1248(modifying)X
1614(\256le)X
1736(attributes)X
1 f
576 1304(Detailed)N
868(information)X
1266(about)X
1464(the)X
1582(attributes)X
1900(of)X
1987(a)X
2043(\256le)X
2165(may)X
2323(be)X
2419(obtained)X
2715(with)X
2877(the)X
2995(calls:)X
864 1448(stat\(path,)N
1180(stb\);)X
864 1544(char)N
1023(*path;)X
1243(result)X
1441(struct)X
1639(stat)X
1770(*stb;)X
864 1736(fstat\(fd,)N
1136(stb\);)X
864 1832(int)N
968(fd;)X
1077(result)X
1275(struct)X
1473(stat)X
1604(*stb;)X
576 1976(The)N
2 f
721(stat)X
1 f
856(structure)X
1157(includes)X
1444(the)X
1562(\256le)X
1685(type,)X
1864(protection,)X
2230(ownership,)X
2605(access)X
2832(times,)X
3046(size,)X
3212(and)X
3349(a)X
3406(count)X
3605(of)X
3693(hard)X
3857(links.)X
576 2072(If)N
651(the)X
770(\256le)X
893(is)X
967(a)X
1024(symbolic)X
1338(link,)X
1503(then)X
1662(the)X
1781(status)X
1984(of)X
2072(the)X
2191(link)X
2336(itself)X
2517(\(rather)X
2753(than)X
2912(the)X
3031(\256le)X
3154(the)X
3273(link)X
3418 0.3875(references\))AX
3798(may)X
3956(be)X
576 2168(obtained)N
872(using)X
1065(the)X
2 f
1183(lstat)X
1 f
1340(call:)X
864 2312(lstat\(path,)N
1202(stb\);)X
864 2408(char)N
1023(*path;)X
1243(result)X
1441(struct)X
1639(stat)X
1770(*stb;)X
776 2580(Newly)N
1011(created)X
1265(\256les)X
1419(are)X
1539(assigned)X
1837(the)X
1957(user)X
2113(ID)X
2220(of)X
2309(the)X
2429(process)X
2692(that)X
2834(created)X
3089(them)X
3271(and)X
3409(the)X
3529(group)X
3738(ID)X
3845(of)X
3934(the)X
576 2676(directory)N
886(in)X
968(which)X
1184(they)X
1342(were)X
1519(created.)X
1812(The)X
1957(ownership)X
2311(of)X
2398(a)X
2454(\256le)X
2576(may)X
2734(be)X
2830(changed)X
3118(by)X
3218(either)X
3421(of)X
3508(the)X
3626(calls:)X
864 2820(chown\(path,)N
1283(owner,)X
1524(group\);)X
864 2916(char)N
1023(*path;)X
1243(uid_t)X
1427(owner;)X
1670(gid_t)X
1854(group;)X
864 3108(fchown\(fd,)N
1239(owner,)X
1480(group\);)X
864 3204(int)N
968(fd,)X
1075(uid_t)X
1259(owner;)X
1502(gid_t)X
1686(group;)X
776 3376(In)N
863(addition)X
1146(to)X
1229(ownership,)X
1604(each)X
1773(\256le)X
1896(has)X
2024(three)X
2206(levels)X
2414(of)X
2502(access)X
2729(protection)X
3075(associated)X
3426(with)X
3589(it.)X
3694(These)X
3907(lev-)X
576 3472(els)N
689(are)X
812(owner)X
1037(relative,)X
1322(group)X
1533(relative,)X
1818(and)X
1957(other.)X
2185(Each)X
2369(level)X
2548(of)X
2638(access)X
2867(has)X
2997(separate)X
3284(indicators)X
3623(for)X
3740(read)X
3902(per-)X
576 3568(mission,)N
865(write)X
1051(permission,)X
1443(and)X
1580(execute)X
1847(permission.)X
2259(The)X
2405(protection)X
2751(bits)X
2887(associated)X
3238(with)X
3401(a)X
3459(\256le)X
3583(may)X
3743(be)X
3841(set)X
3952(by)X
576 3664(either)N
779(of)X
866(the)X
984(calls:)X
864 3808(chmod\(path,)N
1287(mode\);)X
864 3904(char)N
1023(*path;)X
1243(mode_t)X
1503(mode;)X
864 4096(fchmod\(fd,)N
1243(mode\);)X
864 4192(int)N
968(fd,)X
1075(mode_t)X
1335(mode;)X
576 4336(where)N
2 f
793(mode)X
1 f
987(is)X
1060(a)X
1116(value)X
1310(indicating)X
1650(the)X
1768(new)X
1922(protection)X
2267(of)X
2354(the)X
2472(\256le,)X
2614(as)X
2701(listed)X
2894(in)X
2976(section)X
3223(2.2.3.2.)X
776 4460(Each)N
958(\256le)X
1081(has)X
1209(a)X
1266(set)X
1376(of)X
1464(\257ags)X
1636(stored)X
1853(as)X
1941(a)X
1998(bit)X
2103(mask)X
2293(associated)X
2645(with)X
2809(it.)X
2915(These)X
3129(\257ags)X
3302(are)X
3423(returned)X
3713(in)X
3797(the)X
2 f
3917(stat)X
1 f
576 4556(structure)N
877(and)X
1013(are)X
1132(set)X
1241(using)X
1434(the)X
1552(calls:)X
864 4700(ch\257ags\(path,)N
1296(\257ags\);)X
864 4796(char)N
1023(*path;)X
1243(u_long)X
1485(\257ags;)X
864 4988(fch\257ags\(fd,)N
1252(\257ags\);)X
864 5084(int)N
968(fd;)X
1077(u_long)X
1319(\257ags;)X
576 5228(The)N
721(\257ags)X
892(speci\256ed)X
1197(are)X
1316(formed)X
1568(by)X
1668(or'ing)X
1884(the)X
2002(following)X
2333(values:)X
29 p
%%Page: 29 27
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-29)X
864 768(UF_NODUMP)N
1611(Do)X
1729(not)X
1851(dump)X
2053(the)X
2171(\256le.)X
864 864(UF_IMMUTABLE)N
1611(The)X
1756(\256le)X
1878(may)X
2036(not)X
2158(be)X
2254(changed.)X
864 960(UF_APPEND)N
1611(The)X
1756(\256le)X
1878(may)X
2036(only)X
2198(be)X
2294(appended)X
2622(to.)X
864 1056(SF_IMMUTABLE)N
1611(The)X
1756(\256le)X
1878(may)X
2036(not)X
2158(be)X
2254(changed.)X
864 1152(SF_APPEND)N
1611(The)X
1756(\256le)X
1878(may)X
2036(only)X
2198(be)X
2294(appended)X
2622(to.)X
576 1344(The)N
721(UF_NODUMP,)X
1250(UF_IMMUTABLE)X
1897(and)X
2033(UF_APPEND)X
2506(\257ags)X
2677(may)X
2835(be)X
2931(set)X
3041(or)X
3129(unset)X
3319(by)X
3420(either)X
3624(the)X
3743(owner)X
3965(of)X
576 1440(a)N
640(\256le)X
770(or)X
865(the)X
991(super-user.)X
1394(The)X
1547(SF_IMMUTABLE)X
2188(and)X
2332(SF_APPEND)X
2799(\257ags)X
2978(may)X
3144(only)X
3314(be)X
3418(set)X
3535(or)X
3630(unset)X
3827(by)X
3934(the)X
576 1536(super-user.)N
972(They)X
1158(may)X
1317(be)X
1414(set)X
1524(at)X
1603(any)X
1740(time,)X
1923(but)X
2046(normally)X
2356(may)X
2515(only)X
2678(be)X
2775(unset)X
2965(when)X
3160(the)X
3279(system)X
3522(is)X
3596(in)X
3680(single-user)X
576 1632(mode.)N
576 1756(Finally,)N
842(the)X
960(access)X
1186(and)X
1322(modify)X
1573(times)X
1766(on)X
1866(a)X
1922(\256le)X
2044(may)X
2202(be)X
2298(set)X
2407(by)X
2507(the)X
2625(call:)X
864 1900(utimes\(path,)N
1282(tvp\);)X
864 1996(char)N
1023(*path;)X
1243(struct)X
1441(timeval)X
1701(*tvp[2];)X
576 2140(This)N
738(is)X
811(particularly)X
1201(useful)X
1417(when)X
1611(moving)X
1875(\256les)X
2028(between)X
2316(media,)X
2552(to)X
2634(preserve)X
2927(\256le)X
3049(access)X
3275(and)X
3411(modi\256cation)X
3835(times.)X
3 f
576 2332(2.2.5.)N
796(Checking)X
1140(accessibility)X
1 f
776 2484(A)N
856(process)X
1119(running)X
1390(with)X
1554(different)X
1853(real)X
1996(and)X
2134(effective)X
2438(user-ids)X
2714(may)X
2874(interrogate)X
3244(the)X
3364(accessibility)X
3782(of)X
3871(a)X
3930(\256le)X
576 2580(to)N
658(the)X
776(real)X
917(user)X
1071(by)X
1171(using)X
1364(the)X
2 f
1482(access)X
1 f
1712(call:)X
864 2724(accessible)N
1210(=)X
1275(access\(path,)X
1686(how\);)X
864 2820(result)N
1062(int)X
1166(accessible;)X
1534(char)X
1693(*path;)X
1913(int)X
2017(how;)X
2 f
576 2964(How)N
1 f
747(is)X
820(constructed)X
1210(by)X
1310(OR'ing)X
1570(the)X
1688(following)X
2019(bits,)X
2174(de\256ned)X
2430(in)X
2 f
2512(<unistd.h>)X
1 f
2875(:)X
864 3156(F_OK)N
1216(/*)X
1298(\256le)X
1420(exists)X
1622(*/)X
864 3252(X_OK)N
1216(/*)X
1298(\256le)X
1420(is)X
1493 0.2125(executable/searchable)AX
2219(*/)X
864 3348(W_OK)N
1216(/*)X
1298(\256le)X
1420(is)X
1493(writable)X
1776(*/)X
864 3444(R_OK)N
1216(/*)X
1298(\256le)X
1420(is)X
1493(readable)X
1786(*/)X
576 3636(The)N
721(presence)X
1023(or)X
1110(absence)X
1385(of)X
1472(advisory)X
1768(locks)X
1957(does)X
2124(not)X
2246(affect)X
2450(the)X
2568(result)X
2766(of)X
2 f
2853(access)X
1 f
3063(.)X
776 3760(The)N
2 f
933(pathconf)X
1 f
1245(and)X
2 f
1393(fpathconf)X
1 f
1727(functions)X
2057(provide)X
2335(a)X
2404(method)X
2677(for)X
2804(applications)X
3224(to)X
3319(determine)X
3673(the)X
3804(current)X
576 3856(value)N
770(of)X
857(a)X
913(con\256gurable)X
1334(system)X
1576(limit)X
1746(or)X
1833(option)X
2057(variable)X
2336(associated)X
2686(with)X
2848(a)X
2904(pathname)X
3236(or)X
3323(\256le)X
3445(descriptor:)X
864 4000(ans)N
991(=)X
1056(pathconf\(path,)X
1542(name\);)X
864 4096(result)N
1062(long)X
1224(ans;)X
1373(char)X
1532(*path;)X
1752(int)X
1856(name;)X
864 4288(ans)N
991(=)X
1056(fpathconf\(fd,)X
1498(name\);)X
864 4384(result)N
1062(long)X
1224(ans;)X
1373(int)X
1477(fd,)X
1584(name;)X
576 4528(For)N
2 f
715(pathconf)X
1 f
(,)S
1044(the)X
2 f
1171(path)X
1 f
1342(argument)X
1674(is)X
1756(the)X
1883(name)X
2086(of)X
2182(a)X
2247(\256le)X
2378(or)X
2474(directory.)X
2833(For)X
2 f
2973(fpathconf)X
1 f
3275(,)X
3324(the)X
2 f
3451(fd)X
1 f
3542(argument)X
3874(is)X
3956(an)X
576 4624(open)N
758(\256le)X
886(descriptor.)X
1273(The)X
2 f
1424(name)X
1 f
1624(argument)X
1953(speci\256es)X
2255(the)X
2378(system)X
2625(variable)X
2909(to)X
2996(be)X
3097(queried.)X
3403(Symbolic)X
3734(constants)X
576 4720(for)N
690(each)X
858(name)X
1052(value)X
1246(are)X
1365(found)X
1572(in)X
1654(the)X
1772(include)X
2028(\256le)X
2 f
2150(<unistd.h>)X
1 f
2513(.)X
3 f
576 4912(2.2.6.)N
796(Extension)X
1153(and)X
1301(truncation)X
1 f
776 5064(Files)N
962(are)X
1092(created)X
1356(with)X
1529(zero)X
1699(length)X
1930(and)X
2077(may)X
2246(be)X
2353(extended)X
2674(simply)X
2922(by)X
3033(writing)X
3295(or)X
3393(appending)X
3758(to)X
3852(them.)X
576 5160(While)N
800(a)X
864(\256le)X
994(is)X
1075(open)X
1259(the)X
1385(system)X
1635(maintains)X
1974(a)X
2038(pointer)X
2293(into)X
2445(the)X
2571(\256le)X
2701(indicating)X
3049(the)X
3175(current)X
3431(location)X
3716(in)X
3805(the)X
3930(\256le)X
576 5256(associated)N
926(with)X
1088(the)X
1206(descriptor.)X
1587(This)X
1749(pointer)X
1996(may)X
2154(be)X
2250(moved)X
2489(about)X
2688(in)X
2771(the)X
2890(\256le)X
3013(in)X
3096(a)X
3153(random)X
3419(access)X
3646(fashion.)X
3943(To)X
576 5352(set)N
685(the)X
803(current)X
1051(offset)X
1254(into)X
1398(a)X
1454(\256le,)X
1596(the)X
2 f
1714(lseek)X
1 f
1895(call)X
2031(may)X
2189(be)X
2285(used:)X
864 5496(oldoffset)N
1169(=)X
1234(lseek\(fd,)X
1533(offset,)X
1756(type\);)X
864 5592(result)N
1062(off_t)X
1238(oldoffset;)X
1565(int)X
1669(fd;)X
1778(off_t)X
1954(offset;)X
2179(int)X
2283(type;)X
30 p
%%Page: 30 28
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-30)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
576 672(where)N
2 f
793(type)X
1 f
947(is)X
1020(de\256ned)X
1276(by)X
2 f
1376(<unistd.h>)X
1 f
1759(as)X
1846(one)X
1982(of:)X
864 864(SEEK_SET)N
1389(/*)X
1471(set)X
1580(\256le)X
1702(offset)X
1905(to)X
1987(offset)X
2190(*/)X
864 960(SEEK_CUR)N
1389(/*)X
1471(set)X
1580(\256le)X
1702(offset)X
1905(to)X
1987(current)X
2235(plus)X
2388(offset)X
2591(*/)X
864 1056(SEEK_END)N
1389(/*)X
1471(set)X
1580(\256le)X
1702(offset)X
1905(to)X
1987(EOF)X
2158(plus)X
2311(offset)X
2514(*/)X
576 1248(The)N
721(call)X
857(``lseek\(fd,)X
1210(0,)X
1290(SEEK_CUR\)'')X
1795(returns)X
2038(the)X
2156(current)X
2404(offset)X
2607(into)X
2751(the)X
2869(\256le.)X
776 1372(Files)N
951(may)X
1109(have)X
1282(``holes'')X
1580(in)X
1663(them.)X
1884(Holes)X
2092(are)X
2212(areas)X
2399(in)X
2482(the)X
2601(linear)X
2805(extent)X
3022(of)X
3110(the)X
3229(\256le)X
3352(where)X
3570(data)X
3725(has)X
3853(never)X
576 1468(been)N
752(written.)X
1043(These)X
1259(may)X
1421(be)X
1521(created)X
1778(by)X
1882(seeking)X
2151(to)X
2237(a)X
2297(location)X
2579(in)X
2665(a)X
2725(\256le)X
2851(past)X
3003(the)X
3124(current)X
3375(end-of-\256le)X
3737(and)X
3876(writ-)X
576 1564(ing.)N
738(Holes)X
945(are)X
1064(treated)X
1303(by)X
1403(the)X
1521(system)X
1763(as)X
1850(zero)X
2009(valued)X
2243(bytes.)X
576 1688(A)N
654(\256le)X
776(may)X
934(be)X
1030(extended)X
1340(or)X
1427(truncated)X
1746(with)X
1908(either)X
2111(of)X
2198(the)X
2316(calls:)X
864 1832(truncate\(path,)N
1328(length\);)X
864 1928(char)N
1023(*path;)X
1243(off_t)X
1419(length;)X
864 2120(ftruncate\(fd,)N
1284(length\);)X
864 2216(int)N
968(fd;)X
1077(off_t)X
1253(length;)X
576 2360(changing)N
890(the)X
1008(size)X
1153(of)X
1240(the)X
1358(speci\256ed)X
1663(\256le)X
1785(to)X
2 f
1867(length)X
1 f
2087(bytes.)X
776 2484(Unless)N
1014(opened)X
1267(with)X
1430(the)X
1549(O_FSYNC)X
1925(\257ag,)X
2086(writes)X
2303(to)X
2386(\256les)X
2540(are)X
2660(held)X
2819(for)X
2934(an)X
3031(indeterminate)X
3493(period)X
3719(of)X
3807(time)X
3970(in)X
576 2580(the)N
694(system)X
936(buffer)X
1153(cache.)X
1397(The)X
1542(call:)X
864 2724(fsync\(fd\);)N
864 2820(int)N
968(fd;)X
576 2964(ensures)N
841(that)X
985(the)X
1107(contents)X
1398(of)X
1489(a)X
1549(\256le)X
1676(are)X
1800(committed)X
2167(to)X
2254(disk)X
2412(before)X
2643(returning.)X
3002(This)X
3169(feature)X
3418(is)X
3496(used)X
3668(by)X
3773(applica-)X
576 3060(tions)N
751(such)X
918(as)X
1005(editors)X
1243(that)X
1383(want)X
1559(to)X
1641(ensure)X
1871(the)X
1989(integrity)X
2280(of)X
2367(a)X
2423(new)X
2577(\256le)X
2699(before)X
2925(continuing.)X
3 f
576 3252(2.2.7.)N
796(Locking)X
1 f
776 3404(The)N
926(\256lesystem)X
1275(provides)X
1576(basic)X
1766(facilities)X
2067(that)X
2212(allow)X
2415(cooperating)X
2819(processes)X
3152(to)X
3239(synchronize)X
3653(their)X
3826(access)X
576 3500(to)N
668(shared)X
908(\256les.)X
1111(A)X
1199(process)X
1470(may)X
1638(place)X
1838(an)X
1944(advisory)X
2 f
2250(read)X
1 f
2427(or)X
2 f
2524(write)X
1 f
2718(lock)X
2885(on)X
2994(a)X
3059(\256le,)X
3210(so)X
3310(that)X
3459(other)X
3653(cooperating)X
576 3596(processes)N
911(may)X
1076(avoid)X
1281(interfering)X
1648(with)X
1818(the)X
1944(process')X
2240(access.)X
2514(This)X
2684(simple)X
2925(mechanism)X
3318(provides)X
3622(locking)X
3890(with)X
576 3692(\256le)N
707(granularity.)X
1128(Byte)X
1308(range)X
1515(locking)X
1783(is)X
1864(available)X
2182(with)X
2 f
2352(fcntl)X
1 f
2494(;)X
2544(see)X
2675(section)X
2930(1.5.4.)X
3158(The)X
3311(system)X
3561(does)X
3736(not)X
3866(force)X
576 3788(processes)N
904(to)X
986(obey)X
1162(the)X
1280(locks;)X
1491(they)X
1649(are)X
1768(of)X
1855(an)X
1951(advisory)X
2247(nature)X
2468(only.)X
576 3912(Locking)N
863(can)X
995(be)X
1092(done)X
1269(as)X
1357(part)X
1503(of)X
1591(the)X
2 f
1710(open)X
1 f
1887(call)X
2024(\(see)X
2175(section)X
2423(2.2.3.2\))X
2691(or)X
2779(after)X
2948(an)X
2 f
3045(open)X
1 f
3222(call)X
3359(by)X
3460(applying)X
3761(the)X
2 f
3880(\257ock)X
1 f
576 4008(primitive:)N
864 4152(\257ock\(fd,)N
1158(how\);)X
864 4248(int)N
968(fd,)X
1075(how;)X
576 4392(where)N
793(the)X
2 f
911(how)X
1 f
1064(parameter)X
1406(is)X
1479(formed)X
1731(from)X
1907(bits)X
2042(de\256ned)X
2298(in)X
2 f
2380(<fcntl.h>)X
1 f
2690(:)X
864 4584(LOCK_SH)N
1358(/*)X
1440(shared)X
1670(\256le)X
1792(lock)X
1950(*/)X
864 4680(LOCK_EX)N
1358(/*)X
1440(exclusive)X
1763(\256le)X
1885(lock)X
2043(*/)X
864 4776(LOCK_NB)N
1358(/*)X
1440(don't)X
1629(block)X
1827(when)X
2021(locking)X
2281(*/)X
864 4872(LOCK_UN)N
1358(/*)X
1440(unlock)X
1678(\256le)X
1800(*/)X
576 5064(Successive)N
956(lock)X
1122(calls)X
1297(may)X
1463(be)X
1567(used)X
1743(to)X
1834(increase)X
2127(or)X
2223(decrease)X
2530(the)X
2657(level)X
2842(of)X
2938(locking.)X
3247(If)X
3330(an)X
3435(object)X
3660(is)X
3742(currently)X
576 5160(locked)N
812(by)X
914(another)X
1177(process)X
1440(when)X
1636(a)X
2 f
1694(\257ock)X
1 f
1868(call)X
2006(is)X
2081(made,)X
2297(the)X
2417(caller)X
2618(will)X
2764(be)X
2862(blocked)X
3137(until)X
3304(the)X
3423(current)X
3672(lock)X
3831(owner)X
576 5256(releases)N
874(the)X
1015(lock;)X
1218(this)X
1376(may)X
1557(be)X
1676(avoided)X
1973(by)X
2096(including)X
2441(LOCK_NB)X
2854(in)X
2960(the)X
2 f
3102(how)X
1 f
3279(parameter.)X
3685(Specifying)X
576 5352(LOCK_UN)N
991(removes)X
1304(all)X
1425(locks)X
1635(associated)X
2006(with)X
2189(the)X
2328(descriptor.)X
2730(Advisory)X
3069(locks)X
3278(held)X
3456(by)X
3576(a)X
3652(process)X
3933(are)X
576 5448(automatically)N
1032(deleted)X
1284(when)X
1478(the)X
1596(process)X
1857(terminates.)X
31 p
%%Page: 31 29
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-31)X
3 f
576 672(2.2.8.)N
796(Disk)X
971(quotas)X
1 f
776 824(As)N
894(an)X
999(optional)X
1290(facility,)X
1566(each)X
1743(local)X
1928(\256lesystem)X
2282(can)X
2424(impose)X
2685(limits)X
2896(on)X
3006(a)X
3072(user's)X
3294(or)X
3391(group's)X
3666(disk)X
3829(usage.)X
576 920(Two)N
747(quantities)X
1082(are)X
1205(limited:)X
1477(the)X
1599(total)X
1765(amount)X
2029(of)X
2120(disk)X
2277(space)X
2480(which)X
2700(a)X
2760(user)X
2918(or)X
3009(group)X
3220(may)X
3382(allocate)X
3656(in)X
3742(a)X
3801(\256lesys-)X
576 1016(tem)N
718(and)X
856(the)X
976(total)X
1141(number)X
1409(of)X
1499(\256les)X
1655(a)X
1714(user)X
1871(or)X
1961(group)X
2171(may)X
2332(create)X
2548(in)X
2633(a)X
2692(\256lesystem.)X
3079(Quotas)X
3329(are)X
3451(expressed)X
3791(as)X
2 f
3881(hard)X
1 f
576 1112(limits)N
785(and)X
2 f
929(soft)X
1 f
1072(limits.)X
1321(A)X
1407(hard)X
1578(limit)X
1756(is)X
1837(always)X
2088(imposed;)X
2409(if)X
2486(a)X
2550(user)X
2712(or)X
2807(group)X
3022(would)X
3250(exceed)X
3502(a)X
3566(hard)X
3737(limit,)X
3934(the)X
576 1208(operation)N
903(which)X
1123(caused)X
1366(the)X
1488(resource)X
1785(request)X
2041(will)X
2190(fail.)X
2362(A)X
2445(soft)X
2590(limit)X
2765(results)X
2999(in)X
3086(the)X
3209(user)X
3368(or)X
3460(group)X
3672(receiving)X
3996(a)X
576 1304(warning)N
861(message,)X
1175(but)X
1299(with)X
1463(allocation)X
1801(succeeding.)X
2220(Facilities)X
2535(are)X
2656(provided)X
2963(to)X
3047(turn)X
3198(soft)X
3340(limits)X
3542(into)X
3687(hard)X
3851(limits)X
576 1400(if)N
645(a)X
701(user)X
855(or)X
942(group)X
1149(has)X
1276(exceeded)X
1596(a)X
1652(soft)X
1792(limit)X
1962(for)X
2076(an)X
2172(unreasonable)X
2616(period)X
2841(of)X
2928(time.)X
576 1524(The)N
2 f
721(quotactl)X
1 f
1003(call)X
1139(enables,)X
1420(disables)X
1698(and)X
1834(manipulates)X
2241(\256lesystem)X
2585(quotas:)X
864 1668(quotactl\(path,)N
1327(cmd,)X
1505(id,)X
1607(addr\);)X
864 1764(char)N
1023(*path;)X
1243(int)X
1347(cmd;)X
1527(int)X
1631(id;)X
1735(char)X
1894(*addr;)X
576 1908(A)N
662(quota)X
868(control)X
1123(command)X
1467(given)X
1673(by)X
1781(cmd)X
1947(operates)X
2243(on)X
2351(the)X
2477(given)X
2683(\256lename)X
2987(path)X
3153(for)X
3276(the)X
3403(given)X
3610(user)X
3773(ID.)X
3907(The)X
576 2004(address)N
848(of)X
946(an)X
1053(optional)X
1346(command)X
1693(speci\256c)X
1969(data)X
2134(structure,)X
2466(addr,)X
2660(may)X
2829(be)X
2936(given.)X
3184(The)X
3339(supported)X
3685(commands)X
576 2100(include:)N
864 2292(Q_QUOTAON)N
1519(/*)X
1601(enable)X
1831(quotas)X
2060(*/)X
864 2388(Q_QUOTAOFF)N
1519(/*)X
1601(disable)X
1848(quotas)X
2077(*/)X
864 2484(Q_GETQUOTA)N
1519(/*)X
1601(get)X
1719(limits)X
1920(and)X
2056(usage)X
2259(*/)X
864 2580(Q_SETQUOTA)N
1519(/*)X
1601(set)X
1710(limits)X
1911(and)X
2047(usage)X
2250(*/)X
864 2676(Q_SETUSE)N
1519(/*)X
1601(set)X
1710(usage)X
1913(*/)X
864 2772(Q_SYNC)N
1519(/*)X
1601(sync)X
1768(disk)X
1921(copy)X
2097(of)X
2184(a)X
2240(\256lesystems)X
2615(quotas)X
2844(*/)X
3 f
576 3060(2.2.9.)N
796(Remote)X
1080(\256lesystems)X
1 f
576 3212(There)N
784(are)X
903(two)X
1043(system)X
1285(calls)X
1452(intended)X
1748(to)X
1830(help)X
1988(support)X
2248(the)X
2366(remote)X
2609(\256lesystem)X
2953(implementation.)X
3515(The)X
3660(call:)X
864 3356(nfssvc\(\257ags,)N
1287(argstructp\);)X
864 3452(int)N
968(\257ags,)X
1159(void)X
1321(*argstructp;)X
576 3596(is)N
651(used)X
820(by)X
922(the)X
1042(NFS)X
1210(daemons)X
1517(to)X
1601(pass)X
1761(information)X
2161(into)X
2307(and)X
2445(out)X
2569(of)X
2658(the)X
2778(kernel)X
3001(and)X
3140(also)X
3292(to)X
3377(enter)X
3561(the)X
3682(kernel)X
3906(as)X
3996(a)X
576 3692(server)N
795(daemon.)X
1111(The)X
1258(\257ags)X
1431(argument)X
1756(consists)X
2031(of)X
2119(several)X
2368(bits)X
2504(that)X
2645(show)X
2835(what)X
3012(action)X
3229(is)X
3303(to)X
3386(be)X
3483(taken)X
3678(once)X
3851(in)X
3934(the)X
576 3788(kernel)N
797(and)X
2 f
933(argstructp)X
1 f
1286(points)X
1501(to)X
1583(one)X
1719(of)X
1806(three)X
1987(structures)X
2319(depending)X
2673(on)X
2773(which)X
2989(bits)X
3124(are)X
3243(set)X
3352(in)X
3434(\257ags.)X
576 3912(The)N
721(call:)X
864 4056(getfh\(path,)N
1234(fhp\);)X
864 4152(char)N
1023(*path;)X
1243(result)X
1441(fhandle_t)X
1764(*fhp;)X
576 4296(returns)N
823(a)X
883(\256le)X
1009(handle)X
1247(for)X
1365(the)X
1487(speci\256ed)X
1796(\256le)X
1922(or)X
2013(directory)X
2327(in)X
2413(the)X
2535(\256le)X
2661(handle)X
2899(pointed)X
3163(to)X
3249(by)X
3353(fhp.)X
3524(This)X
3691(\256le)X
3818(handle)X
576 4392(can)N
714(then)X
878(be)X
979(used)X
1151(in)X
1238(future)X
1455(calls)X
1627(to)X
1714(NFS)X
1885(to)X
1972(access)X
2203(the)X
2326(\256le)X
2453(without)X
2722(the)X
2845(need)X
3022(to)X
3109(repeat)X
3331(the)X
3454(pathname)X
3791(transla-)X
576 4488(tion.)N
760(This)X
922(system)X
1164(call)X
1300(is)X
1373(restricted)X
1692(to)X
1774(the)X
1892(superuser.)X
3 f
576 4680(2.2.10.)N
836(Other)X
1061(\256lesystems)X
1 f
576 4832(The)N
721(kernel)X
942(supports)X
1233(many)X
1431(other)X
1616(\256lesystems.)X
2031(These)X
2243(include:)X
10 f
576 4956(g)N
1 f
776(The)X
926(log-structured)X
1401(\256lesystem.)X
1770(It)X
1844(provides)X
2145(an)X
2246(alternate)X
2548(disk)X
2706(layout)X
2932(than)X
3096(the)X
3220(fast)X
3362(\256lesystem)X
3712(optimized)X
776 5052(for)N
890(writing)X
1141(rather)X
1349(than)X
1507(reading.)X
1808(For)X
1939(further)X
2178(information)X
2576(see)X
2699(the)X
2817(mount_lfs\(8\))X
3255(manual)X
3511(page.)X
10 f
576 5176(g)N
1 f
776(The)X
935(ISO-standard)X
1397(9660)X
1591(\256lesystem)X
1950(with)X
2127(Rock)X
2331(Ridge)X
2557(extensions)X
2930(used)X
3112(for)X
3241(CD-ROMs.)X
3667(For)X
3813(further)X
776 5272(information)N
1174(see)X
1297(the)X
1415(mount_cd9660\(8\))X
2009(manual)X
2265(page.)X
10 f
576 5396(g)N
1 f
776(The)X
938(\256le)X
1077(descriptor)X
1435(mapping)X
1752(\256lesystem.)X
2153(For)X
2301(further)X
2557(information)X
2973(see)X
3114(the)X
3250(mount_fdesc\(8\))X
3796(manual)X
776 5492(page.)N
10 f
576 5616(g)N
1 f
776(The)X
928(/proc)X
1120(\256lesystem)X
1471(as)X
1565(an)X
1668(alternative)X
2034(for)X
2155(debuggers.)X
2552(For)X
2690(further)X
2936(information)X
3342(see)X
3473(section)X
3728(2.5.1)X
3916(and)X
776 5712(the)N
894(mount_procfs\(8\))X
1453(manual)X
1709(page.)X
32 p
%%Page: 32 30
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-32)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
10 f
576 672(g)N
1 f
776(The)X
931(memory-based)X
1438(\256lesystem,)X
1812(used)X
1989(primarily)X
2318(for)X
2443(fast)X
2590(but)X
2723(ethereal)X
3009(uses)X
3178(such)X
3356(as)X
3454(/tmp.)X
3671(For)X
3813(further)X
776 768(information)N
1174(see)X
1297(the)X
1415(mount_mfs\(8\))X
1893(manual)X
2149(page.)X
10 f
576 892(g)N
1 f
776(The)X
928(kernel)X
1156(variable)X
1442(\256lesystem,)X
1813(used)X
1987(as)X
2081(an)X
2184(alternative)X
2550(to)X
2 f
2639(sysctl)X
1 f
2817(.)X
2884(For)X
3022(further)X
3268(information)X
3674(see)X
3805(section)X
776 988(1.7.1)N
956(and)X
1092(the)X
1210(mount_kernfs\(8\))X
1769(manual)X
2025(page.)X
10 f
576 1112(g)N
1 f
776(The)X
932(portal)X
1150(\256lesystem,)X
1526(used)X
1705(to)X
1799(mount)X
2035(processes)X
2375(in)X
2469(the)X
2599(\256lesystem.)X
2995(For)X
3138(further)X
3389(information)X
3799(see)X
3934(the)X
776 1208(mount_portal\(8\))N
1321(manual)X
1577(page.)X
10 f
576 1332(g)N
1 f
776(The)X
934(uid/gid)X
1194(remapping)X
1571(\256lesystem,)X
1949(usually)X
2214(layered)X
2485(above)X
2711(NFS)X
2891(\256lesystems)X
3280(exported)X
3595(to)X
3691(an)X
3801(outside)X
776 1428(administrative)N
1254(domain.)X
1554(For)X
1685(further)X
1924(information)X
2322(see)X
2445(the)X
2563(mount_umap\(8\))X
3099(manual)X
3355(page.)X
10 f
576 1552(g)N
1 f
776(The)X
924(union)X
1129(\256lesystem,)X
1496(used)X
1666(to)X
1751(place)X
1944(a)X
2004(writable)X
2291(\256lesystem)X
2639(above)X
2855(a)X
2915(read-only)X
3247(\256lesystem.)X
3635(This)X
3801(\256lesys-)X
776 1648(tem)N
919(is)X
995(useful)X
1214(for)X
1331(compiling)X
1678(sources)X
1942(on)X
2045(a)X
2104(CD-ROM)X
2447(without)X
2714(having)X
2955(to)X
3040(copy)X
3219(the)X
3339(CD-ROM)X
3681(contents)X
3970(to)X
776 1744(writable)N
1059(disk.)X
1252(For)X
1383(further)X
1622(information)X
2020(see)X
2143(the)X
2261(mount_union\(8\))X
2801(manual)X
3057(page.)X
3 f
576 1936(2.3.)N
736(Interprocess)X
1184(communications)X
576 2156(2.3.1.)N
796(Interprocess)X
1244(communication)X
1793(primitives)X
576 2376(2.3.1.1.)N
856(Communication)X
1427(domains)X
1 f
776 2528(The)N
937(system)X
1196(provides)X
1509(access)X
1752(to)X
1851(an)X
1964(extensible)X
2326(set)X
2452(of)X
2556(communication)X
2 f
3091(domains)X
1 f
3362(.)X
3439(A)X
3534(communication)X
576 2624(domain)N
840(\(or)X
958(protocol)X
1249(family\))X
1509(is)X
1586(identi\256ed)X
1912(by)X
2016(a)X
2076(manifest)X
2376(constant)X
2667(de\256ned)X
2926(in)X
3011(the)X
3132(\256le)X
2 f
3257(<sys/socket.h>)X
1 f
3746(.)X
3809(Impor-)X
576 2720(tant)N
744(standard)X
1064(domains)X
1383(supported)X
1747(by)X
1875(the)X
2022(system)X
2293(are)X
2441(the)X
2588(local)X
2793 0.3750(\(``UNIX''\))AX
3205(domain)X
3494(\(PF_LOCAL)X
3965(or)X
576 2816(PF_UNIX\))N
953(for)X
1068(communication)X
1587(within)X
1812(the)X
1931(system,)X
2194(the)X
2313(``Internet'')X
2692(domain)X
2953(\(PF_INET\))X
3338(for)X
3452(communication)X
3970(in)X
576 2912(the)N
698(DARPA)X
993(Internet,)X
1287(the)X
1409(ISO)X
1562(family)X
1795(of)X
1886(protocols)X
2208(\(PF_ISO)X
2516(and)X
2656(PF_CCITT\))X
3066(for)X
3184(providing)X
3519(a)X
3579(check-off)X
3912(box)X
576 3008(on)N
678(the)X
798(list)X
917(of)X
1006(your)X
1175(system)X
1419(capabilities,)X
1826(and)X
1964(the)X
2084(``NS'')X
2316(domain)X
2578(\(PF_NS\))X
2884(for)X
2999(communication)X
3518(using)X
3712(the)X
3831(Xerox)X
576 3104(Network)N
877(Systems)X
1163(protocols.)X
1521(Other)X
1724(domains)X
2015(can)X
2147(be)X
2243(added)X
2455(to)X
2537(the)X
2655(system.)X
3 f
576 3296(2.3.1.2.)N
856(Socket)X
1103(types)X
1301(and)X
1449(protocols)X
1 f
776 3448(Within)N
1024(a)X
1086(domain,)X
1372(communication)X
1896(takes)X
2087(place)X
2283(between)X
2578(communication)X
3103(endpoints)X
3441(known)X
3686(as)X
2 f
3780(sockets)X
1 f
4012(.)X
576 3544(Each)N
761(socket)X
989(has)X
1119(the)X
1240(potential)X
1543(to)X
1628(exchange)X
1955(information)X
2356(with)X
2521(other)X
2709(sockets)X
2968(of)X
3058(an)X
3157(appropriate)X
3546(type)X
3707(within)X
3934(the)X
576 3640(domain.)N
776 3764(Each)N
961(socket)X
1190(has)X
1321(an)X
1422(associated)X
1777(abstract)X
2052(type,)X
2235(which)X
2456(describes)X
2780(the)X
2903(semantics)X
3244(of)X
3336(communication)X
3859(using)X
576 3860(that)N
724(socket.)X
997(Properties)X
1350(such)X
1525(as)X
1620(reliability,)X
1979(ordering,)X
2299(and)X
2443(prevention)X
2813(of)X
2907(duplication)X
3294(of)X
3388(messages)X
3718(are)X
3844(deter-)X
576 3956(mined)N
796(by)X
896(the)X
1014(type.)X
1212(The)X
1357(basic)X
1542(set)X
1651(of)X
1738(socket)X
1963(types)X
2152(is)X
2225(de\256ned)X
2481(in)X
2 f
2563(<sys/socket.h>)X
1 f
3052(:)X
864 4148(Standard)N
1169(socket)X
1394(types)X
10 f
864 4164(i)N
886(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
1 f
864 4260(SOCK_DGRAM)N
1699(/*)X
1781(datagram)X
2100(*/)X
864 4356(SOCK_STREAM)N
1699(/*)X
1781(virtual)X
2010(circuit)X
2235(*/)X
864 4452(SOCK_RAW)N
1699(/*)X
1781(raw)X
1922(socket)X
2147(*/)X
864 4548(SOCK_RDM)N
1699(/*)X
1781(reliably-delivered)X
2372(message)X
2664(*/)X
864 4644(SOCK_SEQPACKET)N
1699(/*)X
1781(sequenced)X
2136(packets)X
2397(*/)X
576 4836(The)N
727(SOCK_DGRAM)X
1304(type)X
1468(models)X
1725(the)X
1849(semantics)X
2191(of)X
2284(datagrams)X
2640(in)X
2728(network)X
3017(communication:)X
3564(messages)X
3894(may)X
576 4932(be)N
679(lost)X
821(or)X
915(duplicated)X
1276(and)X
1419(may)X
1584(arrive)X
1799(out-of-order.)X
2259(A)X
2344(datagram)X
2670(socket)X
2902(may)X
3067(send)X
3240(messages)X
3569(to)X
3657(and)X
3799(receive)X
576 5028(messages)N
906(from)X
1089(multiple)X
1383(peers.)X
1621(The)X
1774(SOCK_RDM)X
2237(type)X
2403(models)X
2662(the)X
2788(semantics)X
3132(of)X
3227(reliable)X
3496(datagrams:)X
3876(mes-)X
576 5124(sages)N
779(arrive)X
996(unduplicated)X
1439(and)X
1584(in-order,)X
1892(the)X
2018(sender)X
2256(is)X
2337(noti\256ed)X
2609(if)X
2686(messages)X
3017(are)X
3144(lost.)X
3327(The)X
2 f
3480(send)X
1 f
3655(and)X
2 f
3799(receive)X
1 f
576 5220(operations)N
930(\(described)X
1285(below\))X
1528(generate)X
1821(reliable)X
2082(or)X
2169(unreliable)X
2510(datagrams.)X
2900(The)X
3045(SOCK_STREAM)X
3642(type)X
3801(models)X
576 5316(connection-based)N
1168(virtual)X
1407(circuits:)X
1695(two-way)X
2006(byte)X
2173(streams)X
2447(with)X
2618(no)X
2727(record)X
2962(boundaries.)X
3383(Connection)X
3781(setup)X
3979(is)X
576 5412(required)N
877(before)X
1116(data)X
1283(communication)X
1814(may)X
1986(begin.)X
2238(The)X
2397(SOCK_SEQPACKET)X
3146(type)X
3318(models)X
3583(a)X
3653(connection-)X
576 5508(based,)N
800(full-duplex,)X
1197(reliable,)X
1479(exchange)X
1804(preserving)X
2164(message)X
2457(boundaries;)X
2852(the)X
2971(sender)X
3202(is)X
3276(noti\256ed)X
3541(if)X
3610(messages)X
3933(are)X
576 5604(lost,)N
736(and)X
877(messages)X
1205(are)X
1329(never)X
1533(duplicated)X
1892(or)X
1984(presented)X
2317(out-of-order.)X
2776(Users)X
2985(of)X
3078(the)X
3202(last)X
3339(two)X
3485(abstractions)X
3894(may)X
576 5700(use)N
703(the)X
821(facilities)X
1117(for)X
1231(out-of-band)X
1630(transmission)X
2054(to)X
2136(send)X
2303(out-of-band)X
2702(data.)X
33 p
%%Page: 33 31
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-33)X
776 672(SOCK_RAW)N
1249(is)X
1336(used)X
1517(for)X
1645(unprocessed)X
2076(access)X
2316(to)X
2412(internal)X
2691(network)X
2988(layers)X
3214(and)X
3364(interfaces;)X
3733(it)X
3811(has)X
3952(no)X
576 768(speci\256c)N
841(semantics.)X
1217(Other)X
1420(socket)X
1645(types)X
1834(can)X
1966(be)X
2062(de\256ned.)X
776 892(Each)N
958(socket)X
1184(may)X
1343(have)X
1516(a)X
1573(speci\256c)X
2 f
1839(protocol)X
1 f
2131(associated)X
2482(with)X
2645(it.)X
2750(This)X
2913(protocol)X
3202(is)X
3277(used)X
3446(within)X
3672(the)X
3792(domain)X
576 988(to)N
664(provide)X
935(the)X
1058(semantics)X
1399(required)X
1692(by)X
1797(the)X
1920(socket)X
2150(type.)X
2353(Not)X
2498(all)X
2603(socket)X
2833(types)X
3027(are)X
3151(supported)X
3492(by)X
3597(each)X
3770(domain;)X
576 1084(support)N
845(depends)X
1137(on)X
1247(the)X
1375(existence)X
1704(and)X
1850(the)X
1978(implementation)X
2510(of)X
2607(a)X
2673(suitable)X
2952(protocol)X
3249(within)X
3483(the)X
3611(domain.)X
3921(For)X
576 1180(example,)N
894(within)X
1124(the)X
1248(``Internet'')X
1631(domain,)X
1916(the)X
2039(SOCK_DGRAM)X
2615(type)X
2778(may)X
2941(be)X
3042(implemented)X
3485(by)X
3590(the)X
3713(UDP)X
3898(user)X
576 1276(datagram)N
902(protocol,)X
1216(and)X
1359(the)X
1484(SOCK_STREAM)X
2088(type)X
2253(may)X
2418(be)X
2521(implemented)X
2966(by)X
3073(the)X
3199(TCP)X
3373(transmission)X
3805(control)X
576 1372(protocol,)N
883(while)X
1081(no)X
1181(standard)X
1473(protocols)X
1791(to)X
1873(provide)X
2138(SOCK_RDM)X
2593(or)X
2680(SOCK_SEQPACKET)X
3415(sockets)X
3671(exist.)X
3 f
576 1564(2.3.1.3.)N
856(Socket)X
1103(creation,)X
1424(naming)X
1701(and)X
1849(service)X
2106(establishment)X
1 f
776 1716(Sockets)N
1057(may)X
1227(be)X
2 f
1335(connected)X
1 f
1693(or)X
2 f
1792(unconnected)X
1 f
2198(.)X
2270(An)X
2400(unconnected)X
2838(socket)X
3075(descriptor)X
3428(is)X
3513(obtained)X
3821(by)X
3934(the)X
2 f
576 1812(socket)N
1 f
797(call:)X
864 1956(s)N
915(=)X
980(socket\(domain,)X
1492(type,)X
1670(protocol\);)X
864 2052(result)N
1062(int)X
1166(s;)X
1239(int)X
1343(domain,)X
1623(type,)X
1801(protocol;)X
576 2196(The)N
746(socket)X
996(domain)X
1281(and)X
1442(type)X
1625(are)X
1769(as)X
1881(described)X
2234(above,)X
2492(and)X
2654(are)X
2799(speci\256ed)X
3130(using)X
3349(the)X
3493(de\256nitions)X
3876(from)X
2 f
576 2292(<sys/socket.h>)N
1 f
1065(.)X
1131(The)X
1282(protocol)X
1574(may)X
1737(be)X
1838(given)X
2041(as)X
2133(0,)X
2218(meaning)X
2519(any)X
2660(suitable)X
2934(protocol.)X
3266(One)X
3425(of)X
3517(several)X
3770(possible)X
576 2388(protocols)N
894(may)X
1052(be)X
1148(selected)X
1427(using)X
1620(identi\256ers)X
1960(obtained)X
2256(from)X
2432(a)X
2488(library)X
2722(routine,)X
2 f
2989(getprotobyname)X
1 f
3510(.)X
776 2512(An)N
913(unconnected)X
1358(socket)X
1603(descriptor)X
1964(of)X
2071(a)X
2147(connection-oriented)X
2829(type)X
3007(may)X
3185(yield)X
3385(a)X
3461(connected)X
3827(socket)X
576 2608(descriptor)N
922(in)X
1009(one)X
1150(of)X
1242(two)X
1387(ways:)X
1599(either)X
1807(by)X
1912(actively)X
2191(connecting)X
2567(to)X
2653(another)X
2918(socket,)X
3167(or)X
3258(by)X
3362(becoming)X
3702(associated)X
576 2704(with)N
746(a)X
810(name)X
1012(in)X
1102(the)X
1228(communications)X
1785(domain)X
2054(and)X
2 f
2199(accepting)X
1 f
2540(a)X
2605(connection)X
2986(from)X
3171(another)X
3441(socket.)X
3715(Datagram)X
576 2800(sockets)N
832(need)X
1004(not)X
1126(establish)X
1426(connections)X
1829(before)X
2055(use.)X
776 2924(To)N
897(accept)X
1135(connections)X
1550(or)X
1649(to)X
1743(receive)X
2008(datagrams,)X
2390(a)X
2458(socket)X
2695(must)X
2882(\256rst)X
3038(have)X
3222(a)X
3290(binding)X
3567(to)X
3662(a)X
3731(name)X
3938(\(or)X
576 3020(address\))N
864(within)X
1088(the)X
1206(communications)X
1755(domain.)X
2055(Such)X
2235(a)X
2291(binding)X
2555(may)X
2713(be)X
2809(established)X
3185(by)X
3285(a)X
2 f
3341(bind)X
1 f
3503(call:)X
864 3164(bind\(s,)N
1104(name,)X
1318(namelen\);)X
864 3260(int)N
968(s;)X
1041(struct)X
1239(sockaddr)X
1549(*name;)X
1805(int)X
1909(namelen;)X
576 3404(Datagram)N
923(sockets)X
1189(may)X
1357(have)X
1539(default)X
1792(bindings)X
2097(established)X
2483(when)X
2687(\256rst)X
2841(sending)X
3121(data)X
3286(if)X
3366(not)X
3499(explicitly)X
3832(bound)X
576 3500(earlier.)N
842(In)X
929(either)X
1132(case,)X
1311(a)X
1367(socket's)X
1650(bound)X
1870(name)X
2064(may)X
2222(be)X
2318(retrieved)X
2624(with)X
2786(a)X
2 f
2842(getsockname)X
1 f
3277(call:)X
864 3644(getsockname\(s,)N
1381(name,)X
1595(namelen\);)X
864 3740(int)N
968(s;)X
1041(result)X
1239(struct)X
1437(sockaddr)X
1747(*name;)X
2003(result)X
2201(int)X
2305(*namelen;)X
576 3884(while)N
774(the)X
892(peer's)X
1109(name)X
1303(can)X
1435(be)X
1531(retrieved)X
1837(with)X
2 f
1999(getpeername)X
1 f
2414(:)X
864 4028(getpeername\(s,)N
1373(name,)X
1587(namelen\);)X
864 4124(int)N
968(s;)X
1041(result)X
1239(struct)X
1437(sockaddr)X
1747(*name;)X
2003(result)X
2201(int)X
2305(*namelen;)X
576 4268(Domains)N
885(may)X
1043(support)X
1303(sockets)X
1559(with)X
1721(several)X
1969(names.)X
3 f
576 4460(2.3.1.4.)N
856(Accepting)X
1219(connections)X
1 f
576 4612(Once)N
766(a)X
822(binding)X
1086(is)X
1159(made)X
1353(to)X
1435(a)X
1491(connection-oriented)X
2153(socket,)X
2398(it)X
2462(is)X
2535(possible)X
2817(to)X
2 f
2899(listen)X
1 f
3092(for)X
3206(connections:)X
864 4756(listen\(s,)N
1135(backlog\);)X
864 4852(int)N
968(s,)X
1039(backlog;)X
576 4996(The)N
2 f
735(backlog)X
1 f
1023(speci\256es)X
1333(the)X
1465(maximum)X
1824(count)X
2037(of)X
2139(connections)X
2557(that)X
2712(can)X
2859(be)X
2970(simultaneously)X
3489(queued)X
3756(awaiting)X
576 5092 0.3250(acceptance.)AN
576 5216(An)N
2 f
694(accept)X
1 f
924(call:)X
864 5360(t)N
906(=)X
971(accept\(s,)X
1275(name,)X
1489(anamelen\);)X
864 5456(result)N
1062(int)X
1166(t;)X
1230(int)X
1334(s;)X
1407(result)X
1605(struct)X
1803(sockaddr)X
2113(*name;)X
2369(result)X
2567(int)X
2671(*anamelen;)X
576 5600(returns)N
825(a)X
887(descriptor)X
1234(for)X
1354(a)X
1416(new,)X
1596(connected,)X
1968(socket)X
2199(from)X
2381(the)X
2505(queue)X
2723(of)X
2816(pending)X
3100(connections)X
3509(on)X
2 f
3615(s)X
1 f
3646(.)X
3712(If)X
3792(no)X
3898(new)X
576 5696(connections)N
980(are)X
1100(queued)X
1353(for)X
1467 0.3250(acceptance,)AX
1861(the)X
1979(call)X
2115(will)X
2259(wait)X
2417(for)X
2531(a)X
2587(connection)X
2959(unless)X
3179(non-blocking)X
3626(I/O)X
3753(has)X
3880(been)X
576 5792(enabled)N
846(\(see)X
996(section)X
1243(1.5.4\).)X
34 p
%%Page: 34 32
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-34)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
3 f
576 672(2.3.1.5.)N
856(Making)X
1142(connections)X
1 f
576 824(An)N
694(active)X
906(connection)X
1278(to)X
1360(a)X
1416(named)X
1650(socket)X
1875(is)X
1948(made)X
2142(by)X
2242(the)X
2 f
2360(connect)X
1 f
2630(call:)X
864 968(connect\(s,)N
1212(name,)X
1426(namelen\);)X
864 1064(int)N
968(s;)X
1041(struct)X
1239(sockaddr)X
1549(*name;)X
1805(int)X
1909(namelen;)X
576 1208(Although)N
899(datagram)X
1219(sockets)X
1476(do)X
1577(not)X
1700(establish)X
2001(connections,)X
2425(the)X
2 f
2544(connect)X
1 f
2815(call)X
2952(may)X
3112(be)X
3210(used)X
3379(with)X
3543(such)X
3712(sockets)X
3970(to)X
576 1304(create)N
793(an)X
2 f
893(association)X
1 f
1281(with)X
1447(the)X
1569(foreign)X
1825(address.)X
2130(The)X
2279(address)X
2544(is)X
2621(recorded)X
2927(for)X
3045(use)X
3176(in)X
3261(future)X
2 f
3476(send)X
1 f
3646(calls,)X
3836(which)X
576 1400(then)N
735(need)X
908(not)X
1031(supply)X
1265(destination)X
1637(addresses.)X
2006(Datagrams)X
2375(will)X
2520(be)X
2617(received)X
2912(only)X
3076(from)X
3254(that)X
3396(peer,)X
3577(and)X
3715(asynchro-)X
576 1496(nous)N
747(error)X
924(reports)X
1167(may)X
1325(be)X
1421(received.)X
776 1620(It)N
846(is)X
920(also)X
1070(possible)X
1353(to)X
1436(create)X
1650(connected)X
1997(pairs)X
2174(of)X
2262(sockets)X
2520(without)X
2786(using)X
2981(the)X
3101(domain's)X
3421(name)X
3617(space)X
3818(to)X
3902(ren-)X
576 1716(dezvous;)N
881(this)X
1016(is)X
1089(done)X
1265(with)X
1427(the)X
2 f
1545(socketpair)X
1 f
1899(call\262:)X
864 1860(socketpair\(domain,)N
1501(type,)X
1679(protocol,)X
1986(sv\);)X
864 1956(int)N
968(domain,)X
1248(type,)X
1426(protocol;)X
1735(result)X
1933(int)X
2037(sv[2];)X
576 2100(Here)N
753(the)X
871(returned)X
2 f
1159(sv)X
1 f
1246(descriptors)X
1618(correspond)X
1995(to)X
2077(those)X
2266(obtained)X
2562(with)X
2 f
2724(accept)X
1 f
2954(and)X
2 f
3090(connect)X
1 f
3340(.)X
576 2224(The)N
721(call:)X
864 2368(pipe\(pv\);)N
864 2464(result)N
1062(int)X
1166(pv[2];)X
576 2608(creates)N
824(a)X
884(pair)X
1033(of)X
1124(SOCK_STREAM)X
1725(sockets)X
1985(in)X
2071(the)X
2193(PF_LOCAL)X
2612(domain,)X
2896(with)X
3063(pv[0])X
3262(only)X
3429(writable)X
3717(and)X
3858(pv[1])X
576 2704(only)N
738(readable.)X
3 f
576 2896(2.3.1.6.)N
856(Sending)X
1150(and)X
1298(receiving)X
1630(data)X
1 f
576 3048(Messages)N
908(may)X
1066(be)X
1162(sent)X
1311(from)X
1487(a)X
1543(socket)X
1768(by:)X
864 3192(cc)N
956(=)X
1021(sendto\(s,)X
1328(msg,)X
1501(len,)X
1639(\257ags,)X
1830(to,)X
1932(tolen\);)X
864 3288(result)N
1062(int)X
1166(cc;)X
1280(int)X
1384(s;)X
1457(void)X
1619(*msg;)X
1834(size_t)X
2041(len;)X
864 3384(int)N
968(\257ags;)X
1161(struct)X
1359(sockaddr)X
1669(*to;)X
1813(int)X
1917(tolen;)X
576 3528(if)N
645(the)X
763(socket)X
988(is)X
1061(not)X
1183(connected)X
1529(or:)X
864 3672(cc)N
956(=)X
1021(send\(s,)X
1266(msg,)X
1439(len,)X
1577(\257ags\);)X
864 3768(result)N
1062(int)X
1166(cc;)X
1280(int)X
1384(s;)X
1457(void)X
1619(*msg;)X
1834(size_t)X
2041(len;)X
2181(int)X
2285(\257ags;)X
576 3912(if)N
645(the)X
763(socket)X
988(is)X
1061(connected.)X
1447(The)X
1592(corresponding)X
2071(receive)X
2324(primitives)X
2668(are:)X
864 4056(msglen)N
1115(=)X
1180(recvfrom\(s,)X
1573(buf,)X
1720(len,)X
1858(\257ags,)X
2049(from,)X
2245(fromlenaddr\);)X
864 4152(result)N
1062(int)X
1166(msglen;)X
1439(int)X
1543(s;)X
1616(result)X
1814(void)X
1976(*buf;)X
2165(size_t)X
2372(len;)X
2512(int)X
2616(\257ags;)X
864 4248(result)N
1062(struct)X
1260(sockaddr)X
1570(*from;)X
1808(result)X
2006(int)X
2110(*fromlenaddr;)X
576 4392(and:)N
864 4536(msglen)N
1115(=)X
1180(recv\(s,)X
1417(buf,)X
1564(len,)X
1702(\257ags\);)X
864 4632(result)N
1062(int)X
1166(msglen;)X
1439(int)X
1543(s;)X
1616(result)X
1814(void)X
1976(*buf;)X
2165(size_t)X
2372(len;)X
2512(int)X
2616(\257ags;)X
776 4804(In)N
863(the)X
981(unconnected)X
1407(case,)X
1586(the)X
1704(parameters)X
2 f
2077(to)X
1 f
2159(and)X
2 f
2295(tolen)X
1 f
2475(specify)X
2727(the)X
2845(destination)X
3216(or)X
3303(source)X
3533(of)X
3621(the)X
3740(message,)X
576 4900(while)N
778(the)X
2 f
900(from)X
1 f
1075(parameter)X
1420(stores)X
1630(the)X
1751(source)X
1984(of)X
2074(the)X
2195(message,)X
2510(and)X
2 f
2649(*fromlenaddr)X
1 f
3112(initially)X
3383(gives)X
3575(the)X
3696(size)X
3844(of)X
3934(the)X
2 f
576 4996(from)N
1 f
747(buffer)X
964(and)X
1100(is)X
1173(updated)X
1447(to)X
1529(re\257ect)X
1750(the)X
1868(true)X
2013(length)X
2233(of)X
2320(the)X
2 f
2438(from)X
1 f
2609(address.)X
776 5120(All)N
906(calls)X
1081(cause)X
1288(the)X
1414(message)X
1714(to)X
1804(be)X
1908(received)X
2209(in)X
2299(or)X
2394(sent)X
2552(from)X
2737(the)X
2864(message)X
3165(buffer)X
3391(of)X
3487(length)X
2 f
3716(len)X
1 f
3843(bytes,)X
576 5216(starting)N
847(at)X
936(address)X
2 f
1208(buf)X
1 f
1310(.)X
1380(The)X
2 f
1535(\257ags)X
1 f
1716(specify)X
1978(peeking)X
2262(at)X
2350(a)X
2416(message)X
2718(without)X
2992(reading)X
3263(it,)X
3357(sending)X
3636(or)X
3733(receiving)X
576 5312(high-priority)N
1005(out-of-band)X
1404(messages,)X
1747(or)X
1834(other)X
2019(special)X
2262(requests)X
2545(as)X
2632(follows:)X
8 s
10 f
576 5584(hhhhhhhhhhhhhhhhhh)N
1 f
576 5664(\262)N
624(4.4BSD)X
845(supports)X
2 f
1078(socketpair)X
1 f
1360(creation)X
1581(only)X
1711(in)X
1777(the)X
1871(PF_LOCAL)X
2204(communication)X
2618(domain.)X
35 p
%%Page: 35 33
8 s 8 xH 0 xS 1 f 1 i
10 s
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-35)X
864 768(MSG_OOB)N
1687(/*)X
1769(process)X
2030(out-of-band)X
2429(data)X
2583(*/)X
864 864(MSG_PEEK)N
1687(/*)X
1769(peek)X
1941(at)X
2019(incoming)X
2341(message)X
2633(*/)X
864 960(MSG_DONTROUTE)N
1687(/*)X
1769(send)X
1936(without)X
2200(using)X
2393(routing)X
2644(tables)X
2851(*/)X
864 1056(MSG_EOR)N
1687(/*)X
1769(data)X
1923(completes)X
2268(record)X
2494(*/)X
864 1152(MSG_TRUNC)N
1687(/*)X
1769(data)X
1923(discarded)X
2251(before)X
2477(delivery)X
2760(*/)X
864 1248(MSG_CTRUNC)N
1687(/*)X
1769(control)X
2016(data)X
2170(lost)X
2305(before)X
2531(delivery)X
2814(*/)X
864 1344(MSG_WAITALL)N
1687(/*)X
1769(wait)X
1927(for)X
2041(full)X
2172(request)X
2424(or)X
2511(error)X
2688(*/)X
864 1440(MSG_DONTWAIT)N
1687(/*)X
1769(this)X
1904(message)X
2196(should)X
2429(be)X
2525(nonblocking)X
2945(*/)X
3 f
576 1728(2.3.1.7.)N
856(Scatter/gather)X
1367(and)X
1515(exchanging)X
1921(access)X
2151(rights)X
1 f
776 1880(It)N
846(is)X
920(possible)X
1204(to)X
1288(scatter)X
1520(and)X
1658(gather)X
1881(data)X
2037(and)X
2175(to)X
2259(exchange)X
2585(access)X
2813(rights)X
3017(with)X
3181(messages.)X
3546(When)X
3760(either)X
3965(of)X
576 1976(these)N
764(operations)X
1121(is)X
1197(involved,)X
1520(the)X
1640(number)X
1907(of)X
1996(parameters)X
2371(to)X
2455(the)X
2575(call)X
2713(becomes)X
3016(large.)X
3239(Thus,)X
3441(the)X
3561(system)X
3805(de\256nes)X
576 2072(a)N
632(message)X
924(header)X
1159(structure,)X
1480(in)X
2 f
1562(<sys/socket.h>)X
1 f
2051(,)X
2091(which)X
2307(can)X
2439(be)X
2535(used)X
2702(to)X
2785(conveniently)X
3220(contain)X
3477(the)X
3596(parameters)X
3970(to)X
576 2168(the)N
694(calls:)X
864 2360(struct)N
1062(msghdr)X
1322({)X
1044 2456(caddr_t)N
1405(msg_name;)X
2056(/*)X
2138(optional)X
2420(address)X
2681(*/)X
1044 2552(u_int)N
1405(msg_namelen;)X
2056(/*)X
2138(size)X
2283(of)X
2370(address)X
2631(*/)X
1044 2648(struct)N
1405(iovec)X
1599(*msg_iov;)X
2056(/*)X
2138(scatter/gather)X
2591(array)X
2777(*/)X
1044 2744(u_int)N
1405(msg_iovlen;)X
2056(/*)X
2138(#)X
2198(elements)X
2503(in)X
2585(msg_iov)X
2880(*/)X
1044 2840(caddr_t)N
1405(msg_control;)X
2056(/*)X
2138(ancillary)X
2439(data)X
2593(*/)X
1044 2936(u_int)N
1405(msg_controllen;)X
2056(/*)X
2138(ancillary)X
2439(data)X
2593(buffer)X
2810(len)X
2928(*/)X
1044 3032(int)N
1405(msg_\257ags;)X
2056(/*)X
2138(\257ags)X
2309(on)X
2409(received)X
2702(message)X
2994(*/)X
864 3128(};)N
576 3320(Here)N
2 f
759(msg_name)X
1 f
1128(and)X
2 f
1270(msg_namelen)X
1 f
1737(specify)X
1995(the)X
2119(source)X
2355(or)X
2448(destination)X
2825(address)X
3092(if)X
3167(the)X
3292(socket)X
3524(is)X
3604(unconnected;)X
2 f
576 3416(msg_name)N
1 f
962(may)X
1143(be)X
1262(given)X
1483(as)X
1593(a)X
1671(null)X
1837(pointer)X
2106(if)X
2197(no)X
2319(names)X
2566(are)X
2707(desired)X
2981(or)X
3090(required.)X
3440(The)X
2 f
3607(msg_iov)X
1 f
3916(and)X
2 f
576 3512(msg_iovlen)N
1 f
962(describe)X
1251(the)X
1370(scatter/gather)X
1824(locations,)X
2154(as)X
2242(described)X
2571(in)X
2654(section)X
2903(2.1.1.)X
3125(The)X
3272(data)X
3428(in)X
3512(the)X
2 f
3632(msg_control)X
1 f
576 3608(buffer)N
796(is)X
872(composed)X
1220(of)X
1310(an)X
1409(array)X
1598(of)X
1688(variable)X
1969(length)X
2191(messages)X
2516(used)X
2685(for)X
2801(additional)X
3143(information)X
3543(with)X
3707(or)X
3796(about)X
3996(a)X
576 3704(datagram)N
907(not)X
1041(expressible)X
1434(by)X
1547(\257ags.)X
1771(The)X
1929(format)X
2176(is)X
2262(a)X
2331(sequence)X
2659(of)X
2759(message)X
3064(elements)X
3382(headed)X
3643(by)X
2 f
3756(cmsghdr)X
1 f
576 3800(structures:)N
864 3992(struct)N
1062(cmsghdr)X
1358({)X
1044 4088(u_int)N
1383(cmsg_len;)X
1935(/*)X
2017(data)X
2171(byte)X
2329(count,)X
2547(including)X
2869(hdr)X
2996(*/)X
1044 4184(int)N
1383(cmsg_level;)X
1935(/*)X
2017(originating)X
2388(protocol)X
2675(*/)X
1044 4280(int)N
1383(cmsg_type;)X
1935(/*)X
2017(protocol-speci\256c)X
2576(type)X
2734(*/)X
1044 4376(u_char)N
1383(cmsg_data[)X
1766(];)X
1935(/*)X
2017(variable)X
2296(length)X
2516(type)X
2674(speci\256c)X
2939(data)X
3093(*/)X
864 4472(};)N
576 4664(The)N
721(following)X
1052(macros)X
1304(are)X
1423(provided)X
1728(for)X
1842(use)X
1969(with)X
2131(the)X
2 f
2249(msg_control)X
1 f
2669(buffer:)X
864 4856(CMSG_FIRSTHDR\(mhdr\))N
2016(/*)X
2098(given)X
2296(msghdr,)X
2576(return)X
2788(\256rst)X
2932(cmsghdr)X
3228(*/)X
864 4952(CMSG_NXTHDR\(mhdr,)N
1700(cmsg\))X
2016(/*)X
2098(given)X
2296(msghdr)X
2556(and)X
2692(cmsghdr,)X
3008(return)X
3220(next)X
3378(cmsghdr)X
3674(*/)X
864 5048(CMSG_DATA\(cmsg\))N
2016(/*)X
2098(given)X
2296(cmsghdr,)X
2612(return)X
2824(associated)X
3174(data)X
3328(pointer)X
3575(*/)X
576 5240(Access)N
825(rights)X
1028(to)X
1111(be)X
1208(sent)X
1358(along)X
1557(with)X
1720(the)X
1840(message)X
2134(are)X
2255(speci\256ed)X
2562(in)X
2646(one)X
2784(of)X
2873(these)X
2 f
3060(cmsghdr)X
1 f
3358(structures,)X
3712(with)X
3876(level)X
576 5336(SOL_SOCKET)N
1100(and)X
1238(type)X
1398(SCM_RIGHTS.)X
1957(In)X
2046(the)X
2166(PF_LOCAL)X
2583(domain)X
2845(these)X
3032(are)X
3153(an)X
3251(array)X
3439(of)X
3528(integer)X
3773(descrip-)X
36 p
%%Page: 36 34
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-36)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
576 672(tors,)N
736(copied)X
970(from)X
1146(the)X
1264(sending)X
1533(process)X
1794(and)X
1930(duplicated)X
2284(in)X
2366(the)X
2484(receiver.)X
576 796(This)N
738(structure)X
1039(is)X
1112(used)X
1279(in)X
1361(the)X
1479(operations)X
2 f
1833(sendmsg)X
1 f
2129(and)X
2 f
2265(recvmsg)X
1 f
2533(:)X
864 940(sendmsg\(s,)N
1242(msg,)X
1415(\257ags\);)X
864 1036(int)N
968(s;)X
1041(struct)X
1239(msghdr)X
1499(*msg;)X
1714(int)X
1818(\257ags;)X
864 1228(msglen)N
1115(=)X
1180(recvmsg\(s,)X
1550(msg,)X
1723(\257ags\);)X
864 1324(result)N
1062(int)X
1166(msglen;)X
1439(int)X
1543(s;)X
1616(result)X
1814(struct)X
2012(msghdr)X
2272(*msg;)X
2487(int)X
2591(\257ags;)X
3 f
576 1564(2.3.1.8.)N
856(Using)X
1071(read)X
1247(and)X
1395(write)X
1594(with)X
1765(sockets)X
1 f
776 1716(The)N
928(normal)X
2 f
1182(read)X
1 f
1356(and)X
2 f
1499(write)X
1 f
1690(calls)X
1864(may)X
2029(be)X
2133(applied)X
2397(to)X
2487(connected)X
2841(sockets)X
3105(and)X
3249(translated)X
3589(into)X
2 f
3741(send)X
1 f
3916(and)X
2 f
576 1812(receive)N
1 f
829(calls)X
996(from)X
1172(or)X
1259(to)X
1341(a)X
1397(single)X
1608(area)X
1763(of)X
1850(memory)X
2137(and)X
2273(discarding)X
2627(any)X
2763(rights)X
2965(received.)X
3298(A)X
3376(process)X
3637(may)X
3795(operate)X
576 1908(on)N
692(a)X
764(virtual)X
1010(circuit)X
1252(socket,)X
1514(a)X
1587(terminal)X
1891(or)X
1995(a)X
2068(\256le)X
2207(with)X
2386(blocking)X
2703(or)X
2807(non-blocking)X
3271(input/output)X
3698(operations)X
576 2004(without)N
840(distinguishing)X
1312(the)X
1430(descriptor)X
1771(type.)X
3 f
576 2196(2.3.1.9.)N
856(Shutting)X
1168(down)X
1374(halves)X
1607(of)X
1694(full-duplex)X
2086(connections)X
1 f
776 2348(A)N
856(process)X
1119(that)X
1261(has)X
1390(a)X
1448(full-duplex)X
1826(socket)X
2053(such)X
2222(as)X
2311(a)X
2369(virtual)X
2600(circuit)X
2828(and)X
2967(no)X
3070(longer)X
3298(wishes)X
3539(to)X
3624(read)X
3786(from)X
3965(or)X
576 2444(write)N
761(to)X
843(this)X
978(socket)X
1203(can)X
1335(give)X
1493(the)X
1611(call:)X
864 2588(shutdown\(s,)N
1273(direction\);)X
864 2684(int)N
968(s,)X
1039(direction;)X
576 2828(where)N
2 f
794(direction)X
1 f
1104(is)X
1178(0)X
1239(to)X
1322(not)X
1445(read)X
1605(further,)X
1865(1)X
1926(to)X
2009(not)X
2132(write)X
2318(further,)X
2578(or)X
2666(2)X
2727(to)X
2810(completely)X
3187(shut)X
3341(the)X
3460(connection)X
3834(down.)X
576 2924(If)N
655(the)X
778(underlying)X
1150(protocol)X
1442(supports)X
1738(unidirectional)X
2208(or)X
2300(bidirectional)X
2730(shutdown,)X
3086(this)X
3226(indication)X
3570(will)X
3718(be)X
3818(passed)X
576 3020(to)N
658(the)X
776(peer.)X
975(For)X
1106(example,)X
1418(a)X
1474(shutdown)X
1805(for)X
1919(writing)X
2170(might)X
2376(produce)X
2655(an)X
2751(end-of-\256le)X
3110(condition)X
3432(at)X
3510(the)X
3628(remote)X
3871(end.)X
3 f
576 3212(2.3.1.10.)N
896(Socket)X
1143(and)X
1291(protocol)X
1596(options)X
1 f
776 3364(Sockets,)N
1067(and)X
1205(their)X
1374(underlying)X
1743(communication)X
2263(protocols,)X
2603(may)X
2763(support)X
2 f
3025(options)X
1 f
3260(.)X
3322(These)X
3537(options)X
3795(may)X
3956(be)X
576 3460(used)N
748(to)X
835(manipulate)X
1216(implementation-)X
1770(or)X
1862(protocol-speci\256c)X
2426(facilities.)X
2747(The)X
2 f
2897(getsockopt)X
1 f
3264(and)X
2 f
3404(setsockopt)X
1 f
3762(calls)X
3933(are)X
576 3556(used)N
743(to)X
825(control)X
1072(options:)X
864 3700(getsockopt\(s,)N
1309(level,)X
1505(optname,)X
1821(optval,)X
2061(optlen\);)X
864 3796(int)N
968(s,)X
1039(level,)X
1235(optname;)X
1553(result)X
1751(void)X
1913(*optval;)X
2195(result)X
2393(int)X
2497(*optlen;)X
864 3988(setsockopt\(s,)N
1300(level,)X
1496(optname,)X
1812(optval,)X
2052(optlen\);)X
864 4084(int)N
968(s,)X
1039(level,)X
1235(optname;)X
1553(void)X
1715(*optval;)X
1997(int)X
2101(optlen;)X
576 4228(The)N
726(option)X
2 f
956(optname)X
1 f
1258(is)X
1337(interpreted)X
1711(at)X
1795(the)X
1919(indicated)X
2239(protocol)X
2 f
2532(level)X
1 f
2710(for)X
2830(socket)X
2 f
3061(s)X
1 f
3092(.)X
3158(If)X
3238(a)X
3300(value)X
3500(is)X
3579(speci\256ed)X
3890(with)X
2 f
576 4324(optval)N
1 f
830(and)X
2 f
1000(optlen)X
1 f
(,)S
1274(it)X
1372(is)X
1479(interpreted)X
1881(by)X
2015(the)X
2167(software)X
2498(operating)X
2855(at)X
2967(the)X
3119(speci\256ed)X
2 f
3457(level)X
1 f
3609(.)X
3702(The)X
2 f
3880(level)X
1 f
576 4420(SOL_SOCKET)N
1101(is)X
1177(reserved)X
1473(to)X
1558(indicate)X
1835(options)X
2094(maintained)X
2474(by)X
2578(the)X
2700(socket)X
2929(facilities.)X
3269(Other)X
2 f
3476(level)X
1 f
3652(values)X
3881(indi-)X
576 4516(cate)N
732(a)X
794(particular)X
1128(protocol)X
1421(which)X
1643(is)X
1722(to)X
1810(act)X
1930(on)X
2036(the)X
2160(option)X
2390(request;)X
2670(these)X
2861(values)X
3092(are)X
3217(normally)X
3531(interpreted)X
3904(as)X
3996(a)X
576 4612(``protocol)N
917(number'')X
1236(within)X
1460(the)X
1578(protocol)X
1865(family.)X
3 f
576 4804(2.3.2.)N
796(PF_LOCAL)X
1238(domain)X
1 f
776 4956(This)N
938(section)X
1185(describes)X
1504(brie\257y)X
1733(the)X
1851(properties)X
2192(of)X
2279(the)X
2397(PF_LOCAL)X
2812 0.3750(\(``UNIX''\))AX
3195(communications)X
3744(domain.)X
3 f
576 5148(2.3.2.1.)N
856(Types)X
1080(of)X
1167(sockets)X
1 f
776 5300(In)N
904(the)X
1063(local)X
1280(domain,)X
1601(the)X
1760(SOCK_STREAM)X
2398(abstraction)X
2811(provides)X
3149(pipe-like)X
3496(facilities,)X
3854(while)X
576 5396(SOCK_DGRAM)N
1147(provides)X
1443(\(usually\))X
1748(reliable)X
2009(message-style)X
2479(communications.)X
37 p
%%Page: 37 35
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-37)X
3 f
576 672(2.3.2.2.)N
856(Naming)X
1 f
776 824(Socket)N
1014(names)X
1239(are)X
1358(strings)X
1591(and)X
1727(may)X
1885(appear)X
2120(in)X
2202(the)X
2320(\256lesystem)X
2664(name)X
2858(space.)X
3 f
576 1016(2.3.2.3.)N
856(Access)X
1104(rights)X
1324(transmission)X
1 f
776 1168(The)N
927(ability)X
1157(to)X
1245(pass)X
1409(descriptors)X
1787(with)X
1955(messages)X
2284(in)X
2372(this)X
2513(domain)X
2780(allows)X
3016(migration)X
3354(of)X
3448(service)X
3703(within)X
3934(the)X
576 1264(system)N
818(and)X
954(allows)X
1183(user)X
1337(processes)X
1665(to)X
1747(be)X
1843(used)X
2010(in)X
2092(building)X
2378(system)X
2620(facilities.)X
3 f
576 1456(2.3.3.)N
796(INTERNET)X
1233(domain)X
1 f
776 1608(This)N
941(section)X
1191(describes)X
1513(brie\257y)X
1745(how)X
1906(the)X
2027(Internet)X
2300(domain)X
2563(is)X
2639(mapped)X
2916(to)X
3001(the)X
3122(model)X
3345(described)X
3677(in)X
3763(this)X
3902(sec-)X
576 1704(tion.)N
766(More)X
966(information)X
1370(will)X
1520(be)X
1622(found)X
1835(in)X
1923(the)X
2047(document)X
2389(describing)X
2749(the)X
2873(network)X
3162(implementation)X
3690(in)X
3777(4.4BSD)X
576 1800(\(SMM:18\).)N
3 f
576 1992(2.3.3.1.)N
856(Socket)X
1103(types)X
1301(and)X
1449(protocols)X
1 f
776 2144(SOCK_STREAM)N
1375(is)X
1450(supported)X
1788(by)X
1890(the)X
2010(Internet)X
2283(TCP)X
2452(protocol;)X
2764(SOCK_DGRAM)X
3338(by)X
3441(the)X
3562(UDP)X
3745(protocol.)X
576 2240(Each)N
765(is)X
846(layered)X
1111(atop)X
1277(the)X
1403(transport-level)X
1899(Internet)X
2177(Protocol)X
2476(\(IP\).)X
2669(The)X
2822(Internet)X
3100(Control)X
3372(Message)X
3681(Protocol)X
3979(is)X
576 2336(implemented)N
1022(atop/beside)X
1415(IP)X
1514(and)X
1658(is)X
1739(accessible)X
2093(via)X
2219(a)X
2283(raw)X
2432(socket.)X
2706(The)X
2860(SOCK_SEQPACKET)X
3604(has)X
3740(no)X
3849(direct)X
576 2432(Internet)N
854(family)X
1091(analogue;)X
1431(a)X
1494(protocol)X
1788(based)X
1998(on)X
2105(one)X
2248(from)X
2431(the)X
2556(XEROX)X
2859(NS)X
2988(family)X
3224(and)X
3367(layered)X
3631(on)X
3738(top)X
3867(of)X
3961(IP)X
576 2528(could)N
774(be)X
870(implemented)X
1308(to)X
1390(\256ll)X
1498(this)X
1633(gap.)X
3 f
576 2720(2.3.3.2.)N
856(Socket)X
1103(naming)X
1 f
776 2872(Sockets)N
1051(in)X
1139(the)X
1263(Internet)X
1539(domain)X
1805(have)X
1983(names)X
2214(composed)X
2565(of)X
2658(a)X
2720(32-bit)X
2937(Internet)X
3213(address)X
3480(and)X
3622(a)X
3685(16-bit)X
3903(port)X
576 2968(number.)N
883(Options)X
1158(may)X
1318(be)X
1416(used)X
1585(to)X
1669(provide)X
1936(IP)X
2029(source)X
2261(routing)X
2514(or)X
2602(security)X
2877(options.)X
3173(The)X
3319(32-bit)X
3531(address)X
3793(is)X
3867(com-)X
576 3064(posed)N
789(of)X
882(network)X
1171(and)X
1313(host)X
1472(parts;)X
1676(the)X
1800(network)X
2089(part)X
2240(is)X
2319(variable)X
2604(in)X
2692(size)X
2843(and)X
2985(is)X
3064(frequency)X
3412(encoded.)X
3747(The)X
3899(host)X
576 3160(part)N
724(may)X
885(optionally)X
1232(be)X
1331(interpreted)X
1702(as)X
1792(a)X
1851(subnet)X
2083(\256eld)X
2248(plus)X
2404(the)X
2525(host)X
2681(on)X
2784(the)X
2905(subnet;)X
3158(this)X
3295(is)X
3370(is)X
3445(enabled)X
3717(by)X
3819(setting)X
576 3256(a)N
632(network)X
915(address)X
1176(mask)X
1365(at)X
1443(boot)X
1605(time.)X
3 f
576 3448(2.3.3.3.)N
856(Access)X
1104(rights)X
1324(transmission)X
1 f
776 3600(No)N
894(access)X
1120(rights)X
1322(transmission)X
1746(facilities)X
2042(are)X
2161(provided)X
2466(in)X
2548(the)X
2666(Internet)X
2936(domain.)X
3 f
576 3792(2.3.3.4.)N
856(Raw)X
1032(access)X
1 f
776 3944(The)N
931(Internet)X
1211(domain)X
1481(allows)X
1720(the)X
1848(super-user)X
2213(access)X
2449(to)X
2541(the)X
2669(raw)X
2820(facilities)X
3126(of)X
3224(IP.)X
3366(These)X
3589(interfaces)X
3933(are)X
576 4040(modeled)N
892(as)X
999(SOCK_RAW)X
1479(sockets.)X
1795(Each)X
1995(raw)X
2155(socket)X
2399(is)X
2491(associated)X
2860(with)X
3041(one)X
3196(IP)X
3306(protocol)X
3612(number,)X
3916(and)X
576 4136(receives)N
860(all)X
960(traf\256c)X
1172(received)X
1466(for)X
1581(that)X
1722(protocol.)X
2050(This)X
2213(approach)X
2529(allows)X
2759(administrative)X
3238(and)X
3375(debugging)X
3734(functions)X
576 4232(to)N
664(occur,)X
889(and)X
1031(enables)X
1298(user-level)X
1641(implementations)X
2200(of)X
2293(special-purpose)X
2822(protocols)X
3145(such)X
3317(as)X
3409(inter-gateway)X
3876(rout-)X
576 4328(ing)N
698(protocols.)X
3 f
576 4520(2.4.)N
736(Terminals)X
1107(and)X
1255(Devices)X
576 4740(2.4.1.)N
796(Terminals)X
1 f
776 4892(Terminals)N
1131(support)X
2 f
1401(read)X
1 f
1578(and)X
2 f
1724(write)X
1 f
1918(I/O)X
2055(operations,)X
2439(as)X
2537(well)X
2706(as)X
2804(a)X
2871(collection)X
3218(of)X
3316(terminal)X
3614(speci\256c)X
2 f
3890(ioctl)X
1 f
576 4988(operations,)N
950(to)X
1032(control)X
1279(input)X
1463(character)X
1779(interpretation)X
2231(and)X
2367(editing,)X
2629(and)X
2765(output)X
2989(format)X
3223(and)X
3359(delays.)X
776 5112(A)N
858(terminal)X
1149(may)X
1311(be)X
1411(used)X
1582(as)X
1673(a)X
1733(controlling)X
2108(terminal)X
2399(\(login)X
2614(terminal\))X
2933(for)X
3052(a)X
3113(login)X
3302(session.)X
3598(A)X
3681(controlling)X
576 5208(terminal)N
870(is)X
950(associated)X
1307(with)X
1476(a)X
1539(session)X
1797(\(see)X
1953(section)X
2206(1.1.4\).)X
2459(A)X
2543(controlling)X
2920(terminal)X
3213(has)X
3346(a)X
3408(foreground)X
3791(process)X
576 5304(group,)N
811(which)X
1035(must)X
1218(be)X
1322(a)X
1386(member)X
1677(of)X
1772(the)X
1898(session)X
2157(with)X
2327(which)X
2551(the)X
2677(terminal)X
2972(is)X
3053(associated)X
3411(\(see)X
3569(section)X
3825(1.1.5\).)X
576 5400(Members)N
905(of)X
998(the)X
1122(foreground)X
1505(process)X
1772(group)X
1985(are)X
2110(allowed)X
2390(to)X
2478(read)X
2643(from)X
2825(and)X
2967(write)X
3158(to)X
3246(the)X
3370(terminal)X
3663(and)X
3804(change)X
576 5496(the)N
706(terminal)X
1005(settings;)X
1303(other)X
1500(process)X
1773(groups)X
2023(from)X
2211(the)X
2341(session)X
2604(may)X
2774(be)X
2882(stopped)X
3163(upon)X
3355(attempts)X
3659(to)X
3754(do)X
3867(these)X
576 5592(operations.)N
776 5716(A)N
854(session)X
1105(leader)X
1322(allocates)X
1623(a)X
1679(terminal)X
1966(as)X
2053(the)X
2171(controlling)X
2542(terminal)X
2829(for)X
2943(its)X
3038(session)X
3289(using)X
3482(the)X
3600(ioctl)X
38 p
%%Page: 38 36
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-38)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
864 720(ioctl\(fd,)N
1140(TIOCSCTTY,)X
1620(NULL\);)X
864 816(int)N
968(fd;)X
576 960(Only)N
756(a)X
812(session)X
1063(leader)X
1280(may)X
1438(acquire)X
1695(a)X
1751(controlling)X
2122(terminal.)X
3 f
576 1152(2.4.1.1.)N
856(Terminal)X
1196(input)X
1 f
776 1304(Terminals)N
1126(are)X
1250(handled)X
1529(according)X
1871(to)X
1958(the)X
2081(underlying)X
2453(communication)X
2977(characteristics)X
3463(such)X
3636(as)X
3729(baud)X
3911(rate)X
576 1400(and)N
713(required)X
1002(delays,)X
1248(and)X
1385(a)X
1442(set)X
1552(of)X
1640(software)X
1938(parameters.)X
2352(These)X
2565(parameters)X
2939(are)X
3059(described)X
3388(in)X
3471(the)X
2 f
3589(termios)X
1 f
3849(struc-)X
576 1496(ture)N
721(maintained)X
1097(by)X
1197(the)X
1315(kernel)X
1536(for)X
1650(each)X
1818(terminal)X
2105(line:)X
864 1688(struct)N
1062(termios)X
1322({)X
1044 1784(tc\257ag_t)N
1409(c_i\257ag;)X
1961(/*)X
2043(input)X
2227(\257ags)X
2398(*/)X
1044 1880(tc\257ag_t)N
1409(c_o\257ag;)X
1961(/*)X
2043(output)X
2267(\257ags)X
2438(*/)X
1044 1976(tc\257ag_t)N
1409(c_c\257ag;)X
1961(/*)X
2043(control)X
2290(\257ags)X
2461(*/)X
1044 2072(tc\257ag_t)N
1409(c_l\257ag;)X
1961(/*)X
2043(local)X
2219(\257ags)X
2390(*/)X
1044 2168(cc_t)N
1409(c_cc[NCCS];)X
1961(/*)X
2043(control)X
2290(chars)X
2480(*/)X
1044 2264(long)N
1409(c_ispeed;)X
1961(/*)X
2043(input)X
2227(speed)X
2430(*/)X
1044 2360(long)N
1409(c_ospeed;)X
1961(/*)X
2043(output)X
2267(speed)X
2470(*/)X
864 2456(};)N
576 2648(The)N
2 f
721(termios)X
1 f
981(structure)X
1282(is)X
1355(set)X
1464(and)X
1600(retrieved)X
1906(using)X
2099(the)X
2 f
2217(tcsetattr)X
1 f
2499(and)X
2 f
2635(tcgetattr)X
1 f
2926(functions.)X
776 2772(Two)N
947(general)X
1208(kinds)X
1405(of)X
1496(input)X
1684(processing)X
2051(are)X
2174(available,)X
2508(determined)X
2893(by)X
2997(whether)X
3280(the)X
3403(terminal)X
3695(device)X
3930(\256le)X
576 2868(is)N
655(in)X
743(canonical)X
1077(mode)X
1281(or)X
1373(noncanonical)X
1826(mode.)X
2049(Additionally,)X
2498(input)X
2687(characters)X
3039(are)X
3163(processed)X
3505(according)X
3847(to)X
3934(the)X
2 f
576 2964(c_i\257ag)N
1 f
816(and)X
2 f
954(c_l\257ag)X
1 f
1194(\256elds.)X
1429(Such)X
1611(processing)X
1976(can)X
2111(include)X
2370(echoing,)X
2667(which)X
2886(in)X
2971(general)X
3231(means)X
3459(transmitting)X
3868(input)X
576 3060(characters)N
924(immediately)X
1345(back)X
1518(to)X
1601(the)X
1720(terminal)X
2008(when)X
2203(they)X
2362(are)X
2482(received)X
2776(from)X
2952(the)X
3070(terminal.)X
3397(Non-graphic)X
3823(ASCII)X
576 3156(input)N
760(characters)X
1107(may)X
1265(be)X
1361(echoed)X
1609(as)X
1696(a)X
1752 0.2813(two-character)AX
2215(printable)X
2520(representation,)X
3015 0.3482(``\303character.'')AX
776 3280(In)N
865(canonical)X
1196(mode)X
1397(input)X
1584(processing,)X
1970(terminal)X
2260(input)X
2447(is)X
2523(processed)X
2863(in)X
2948(units)X
3126(of)X
3216(lines.)X
3430(A)X
3511(line)X
3654(is)X
3730(delimited)X
576 3376(by)N
683(a)X
746(newline)X
1027(character)X
1350(\(NL\),)X
1558(an)X
1661(end-of-\256le)X
2027(\(EOF\))X
2259(character,)X
2602(or)X
2696(an)X
2799(end-of-line)X
3183(\(EOL\))X
3420(character.)X
3783(Input)X
3979(is)X
576 3472(presented)N
907(on)X
1010(a)X
1069(line-by-line)X
1466(basis.)X
1689(Using)X
1903(this)X
2041(mode)X
2242(means)X
2470(that)X
2613(a)X
2672(read)X
2834(request)X
3089(will)X
3237(not)X
3363(return)X
3579(until)X
3749(an)X
3849(entire)X
576 3568(line)N
723(has)X
857(been)X
1036(typed,)X
1261(or)X
1355(a)X
1418(signal)X
1636(has)X
1770(been)X
1949(received.)X
2289(Also,)X
2487(no)X
2593(matter)X
2824(how)X
2988(many)X
3192(bytes)X
3387(are)X
3512(requested)X
3846(in)X
3934(the)X
576 3664(read)N
746(call,)X
913(at)X
1002(most)X
1188(one)X
1336(line)X
1488(is)X
1573(returned.)X
1913(It)X
1994(is)X
2079(not,)X
2233(however,)X
2562(necessary)X
2907(to)X
3001(read)X
3172(a)X
3240(whole)X
3468(line)X
3620(at)X
3710(once;)X
3916(any)X
576 3760(number)N
841(of)X
928(bytes,)X
1137(even)X
1309(one,)X
1465(may)X
1623(be)X
1719(requested)X
2047(in)X
2129(a)X
2185(read)X
2344(without)X
2608(losing)X
2823(information.)X
776 3884(When)N
1000(the)X
1130(terminal)X
1429(is)X
1514(in)X
1608(canonical)X
1949(mode,)X
2180(editing)X
2435(of)X
2535(an)X
2644(input)X
2841(line)X
2994(is)X
3080(performed.)X
3488(Editing)X
3756(facilities)X
576 3980(allow)N
777(deletion)X
1058(of)X
1148(the)X
1269(previous)X
1568(character)X
1886(or)X
1975(word,)X
2182(or)X
2271(deletion)X
2551(of)X
2640(the)X
2760(current)X
3010(input)X
3196(line.)X
3358(In)X
3447(addition,)X
3751(a)X
3809(special)X
576 4076(character)N
899(may)X
1064(be)X
1167(used)X
1341(to)X
1430(reprint)X
1671(the)X
1796(current)X
2051(input)X
2242(line.)X
2429(Certain)X
2692(other)X
2884(characters)X
3238(are)X
3365(also)X
3522(interpreted)X
3898(spe-)X
576 4172(cially.)N
826(Flow)X
1022(control)X
1280(is)X
1364(provided)X
1680(by)X
1791(the)X
2 f
1920(stop)X
2084(output)X
1 f
2319(and)X
2 f
2466(start)X
2643(output)X
1 f
2878(control)X
3136(characters.)X
3534(Output)X
3787(may)X
3956(be)X
576 4268(\257ushed)N
827(with)X
989(the)X
2 f
1108(\257ush)X
1280(output)X
1 f
1505(character;)X
1844(and)X
1981(the)X
2 f
2100(literal)X
2316(character)X
1 f
2649(may)X
2808(be)X
2905(used)X
3073(to)X
3156(force)X
3343(the)X
3462(following)X
3794(charac-)X
576 4364(ter)N
681(into)X
825(the)X
943(input)X
1127(line,)X
1287(regardless)X
1633(of)X
1720(any)X
1856(special)X
2099(meaning)X
2395(it)X
2459(may)X
2617(have.)X
776 4488(In)N
868(noncanonical)X
1322(mode)X
1526(input)X
1716(processing,)X
2105(input)X
2295(bytes)X
2490(are)X
2615(not)X
2743(assembled)X
3103(into)X
3253(lines,)X
3450(and)X
3592(erase)X
3784(and)X
3926(kill)X
576 4584(processing)N
950(does)X
1128(not)X
1261(occur.)X
1511(All)X
1644(input)X
1839(is)X
1923(passed)X
2168(through)X
2448(to)X
2541(the)X
2670(reading)X
2941(process)X
3212(immediately)X
3642(and)X
3788(without)X
576 4680(interpretation.)N
1072(Signals)X
1331(and)X
1471(\257ow)X
1637(control)X
1888(may)X
2050(be)X
2150(enabled;)X
2446(here)X
2610(the)X
2733(handler)X
2999(interprets)X
3327(input)X
3516(only)X
3683(by)X
3788(looking)X
576 4776(for)N
690(characters)X
1037(that)X
1177(cause)X
1376(interrupts)X
1703(or)X
1790(output)X
2014(\257ow)X
2176(control;)X
2445(all)X
2545(other)X
2730(characters)X
3077(are)X
3196(made)X
3390(available.)X
776 4900(When)N
992(interrupt)X
1292(characters)X
1643(are)X
1766(being)X
1969(interpreted)X
2342(by)X
2447(the)X
2570(terminal)X
2862(handler)X
3128(they)X
3291(cause)X
3495(a)X
3556(software)X
3858(inter-)X
576 4996(rupt)N
728(to)X
813(be)X
912(sent)X
1064(to)X
1149(all)X
1252(processes)X
1583(in)X
1668(the)X
1789(process)X
2053(group)X
2263(associated)X
2616(with)X
2780(the)X
2900(terminal.)X
3229(Interrupt)X
3532(characters)X
3881(exist)X
576 5092(to)N
675(send)X
859(SIGINT)X
1159(and)X
1312(SIGQUIT)X
1670(signals,)X
1949(and)X
2102(to)X
2202(stop)X
2373(a)X
2447(process)X
2726(group)X
2951(with)X
3131(the)X
3267(SIGTSTP)X
3620(signal)X
3849(either)X
576 5188(immediately,)N
1016(or)X
1103(when)X
1297(all)X
1397(input)X
1581(up)X
1681(to)X
1763(the)X
1881(stop)X
2034(character)X
2350(has)X
2477(been)X
2649(read.)X
3 f
576 5380(2.4.1.2.)N
856(Terminal)X
1196(output)X
1 f
776 5532(On)N
895(output,)X
1140(the)X
1260(terminal)X
1549(handler)X
1812(provides)X
2110(some)X
2301(simple)X
2536(formatting)X
2896(services.)X
3217(These)X
3431(include)X
3689(converting)X
576 5628(the)N
704(carriage)X
994(return)X
1216(character)X
1542(to)X
1634(the)X
1762(two)X
1912(character)X
2238(return-linefeed)X
2746(sequence,)X
3091(inserting)X
3401(delays)X
3636(after)X
3813(certain)X
576 5724(standard)N
868(control)X
1115(characters,)X
1482(and)X
1618(expanding)X
1972(tabs.)X
39 p
%%Page: 39 37
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-39)X
3 f
576 672(2.4.2.)N
796(Structured)X
1190(devices)X
1 f
776 824(Structured)N
1138(devices)X
1407(are)X
1534(typi\256ed)X
1806(by)X
1914(disks)X
2106(and)X
2250(magnetic)X
2573(tapes,)X
2787(but)X
2918(may)X
3085(represent)X
3409(any)X
3554(random-access)X
576 920(device.)N
852(The)X
1003(system)X
1251(performs)X
1567(read-modify-write)X
2182(type)X
2345(buffering)X
2669(actions)X
2921(on)X
3026(block)X
3229(devices)X
3495(to)X
3582(allow)X
3785(them)X
3970(to)X
576 1016(be)N
682(read)X
851(and)X
997(written)X
1254(in)X
1346(random)X
1621(access)X
1858(fashion)X
2125(like)X
2276(ordinary)X
2579(\256les.)X
2783(Filesystems)X
3191(are)X
3321(normally)X
3641(mounted)X
3952(on)X
576 1112(block)N
774(devices.)X
3 f
576 1304(2.4.3.)N
796(Unstructured)X
1279(devices)X
1 f
776 1456(Unstructured)N
1219(devices)X
1484(are)X
1608(those)X
1802(devices)X
2068(which)X
2289(do)X
2394(not)X
2521(support)X
2786(block)X
2989(structure.)X
3335(Familiar)X
3631(unstructured)X
576 1552(devices)N
843(are)X
968(raw)X
1115(communications)X
1670(lines)X
1847(\(with)X
2042(no)X
2148(terminal)X
2441(handler\),)X
2755(raster)X
2960(plotters,)X
3246(magnetic)X
3566(tape)X
3726(and)X
3868(disks)X
576 1648(unfettered)N
922(by)X
1022(buffering)X
1341(and)X
1477(permitting)X
1830(large)X
2011(block)X
2209(input/output)X
2619(and)X
2755(positioning)X
3134(and)X
3270(formatting)X
3628(commands.)X
3 f
576 1840(2.5.)N
736(Process)X
1015(debugging)X
576 2060(2.5.1.)N
796(Traditional)X
1206(debugging)X
1 f
576 2212(Debuggers)N
944(traditionally)X
1355(use)X
1482(the)X
2 f
1600(ptrace)X
1 f
1825(interface:)X
864 2356(ptrace\(request,)N
1360(pid,)X
1502(addr,)X
1685(data\);)X
864 2452(int)N
968(request,)X
1240(pid,)X
1382(*addr,)X
1605(data;)X
576 2596(This)N
745(interface)X
1054(provides)X
1357(a)X
1420(means)X
1652(by)X
1759(which)X
1982(a)X
2045(parent)X
2273(process)X
2541(may)X
2706(control)X
2960(the)X
3085(execution)X
3424(of)X
3519(a)X
3583(child)X
3771(process,)X
576 2692(and)N
721(examine)X
1022(and)X
1167(change)X
1424(its)X
1528(core)X
1695(image.)X
1959(Its)X
2067(primary)X
2349(use)X
2484(is)X
2565(for)X
2687(the)X
2813(implementation)X
3343(of)X
3438(breakpoint)X
3809(debug-)X
576 2788(ging.)N
790(There)X
1010(are)X
1141(four)X
1307(arguments)X
1673(whose)X
1910(interpretation)X
2374(depends)X
2669(on)X
2781(a)X
2849(request)X
3113(argument.)X
3489(A)X
3580(process)X
3854(being)X
576 2884(traced)N
794(behaves)X
1074(normally)X
1384(until)X
1551(it)X
1616(encounters)X
1985(a)X
2042(signal)X
2254(\(whether)X
2561(internally)X
2889(generated)X
3222(like)X
3362(``illegal)X
3636(instruction'')X
576 2980(or)N
668(externally)X
1014(generated)X
1353(like)X
1499(``interrupt''\).)X
1976(Then)X
2167(the)X
2291(traced)X
2514(process)X
2781(enters)X
2999(a)X
3061(stopped)X
3336(state)X
3509(and)X
3651(its)X
3752(parent)X
3979(is)X
576 3076(noti\256ed)N
851(via)X
2 f
980(wait)X
1 f
1117(.)X
1188(When)X
1411(the)X
1540(child)X
1731(is)X
1815(in)X
1908(the)X
2036(stopped)X
2315(state,)X
2512(its)X
2617(core)X
2786(image)X
3012(can)X
3154(be)X
3260(examined)X
3602(and)X
3748(modi\256ed)X
576 3172(using)N
2 f
775(ptrace)X
1 f
980(.)X
1046(Another)X
1335(ptrace)X
1558(request)X
1816(can)X
1954(then)X
2118(cause)X
2323(the)X
2447(child)X
2633(either)X
2842(to)X
2930(terminate)X
3260(or)X
3354(to)X
3443(continue,)X
3766(possibly)X
576 3268(ignoring)N
867(the)X
985(signal.)X
776 3392(A)N
873(more)X
1077(general)X
1353(interface)X
1674(is)X
1766(also)X
1934(provided)X
2258(in)X
2359(4.4BSD;)X
2675(the)X
2 f
2813(mount_procfs)X
1 f
3293(\256lesystem)X
3657(attaches)X
3956(an)X
576 3488(instance)N
864(of)X
956(the)X
1079(process)X
1345(name)X
1544(space)X
1748(to)X
1835(the)X
1958(global)X
2183(\256lesystem)X
2532(name)X
2731(space.)X
2975(The)X
3125(conventional)X
3563(mount)X
3791(point)X
3979(is)X
2 f
576 3584(/proc)N
1 f
745(.)X
812(The)X
964(root)X
1120(of)X
1214(the)X
1339(process)X
1607(\256lesystem)X
1958(contains)X
2253(an)X
2357(entry)X
2550(for)X
2672(each)X
2848(active)X
3068(process.)X
3377(These)X
3597(processes)X
3933(are)X
576 3680(visible)N
825(as)X
928(directories)X
1303(named)X
1553(by)X
1669(the)X
1803(process')X
2107(ID.)X
2268(In)X
2370(addition,)X
2687(the)X
2820(special)X
3078(entry)X
2 f
3278(curproc)X
1 f
3567 0.3889(references)AX
3934(the)X
576 3776(current)N
828(process.)X
1133(Each)X
1318(directory)X
1632(contains)X
1923(several)X
2175(\256les,)X
2352(including)X
2678(a)X
2 f
2738(ctl)X
1 f
2842(\256le.)X
3008(The)X
3158(debugger)X
3482(\256nds)X
3662(\(or)X
3781(creates\))X
576 3872(the)N
701(process)X
969(that)X
1116(it)X
1187(wants)X
1401(to)X
1490(debug)X
1713(and)X
1856(then)X
2021(issues)X
2239(an)X
2342(attach)X
2561(command)X
2904(via)X
3029(the)X
2 f
3153(ctl)X
1 f
3259(\256le.)X
3427(Further)X
3689(interaction)X
576 3968(can)N
708(then)X
866(be)X
962(done)X
1138(with)X
1300(the)X
1418(process)X
1679(through)X
1948(the)X
2066(other)X
2251(\256les)X
2404(provided)X
2709(by)X
2809(the)X
2 f
2927(/proc)X
1 f
3116(\256lesystem.)X
3 f
576 4160(2.5.2.)N
796(Kernel)X
1052(tracing)X
1 f
576 4312(Another)N
859(facility)X
1106(for)X
1220(debugging)X
1578(programs)X
1901(is)X
1974(provided)X
2279(by)X
2379(the)X
2 f
2497(ktrace)X
1 f
2718(interface:)X
864 4456 0.2250(ktrace\(trace\256le,)AN
1387(ops,)X
1538(trpoints,)X
1822(pid\);)X
864 4552(char)N
1023(*trace\256le;)X
1364(int)X
1468(ops,)X
1619(trpoints,)X
1903(pid;)X
2 f
576 4696(Ktrace)N
1 f
817(does)X
987(kernel)X
1211(trace)X
1391(logging)X
1658(for)X
1775(the)X
1896(speci\256ed)X
2204(processes.)X
2576(The)X
2725(kernel)X
2950(operations)X
3308(that)X
3452(are)X
3575(traced)X
3796(include)X
576 4792(system)N
824(calls,)X
1017(pathname)X
1355(translations,)X
1770(signal)X
1987(processing,)X
2376(and)X
2518(I/O.)X
2691(This)X
2859(facility)X
3112(can)X
3250(be)X
3352(particularly)X
3748(useful)X
3970(to)X
576 4888(debug)N
792(programs)X
1115(for)X
1229(which)X
1445(you)X
1585(do)X
1685(not)X
1807(have)X
1979(the)X
2097(source.)X
40 p
%%Page: 40 38
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-40)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
3 f
576 672(3.)N
676(Summary)X
1034(of)X
1121(facilities)X
1 f
576 940(1)N
3 f
716(Kernel)X
972(primitives)X
1 f
576 1060(1.1)N
3 f
716(Processes)X
1062(and)X
1210(protection)X
1 f
860 1156(sethostid)N
1323(set)X
1432(host)X
1585(identi\256er)X
860 1252(gethostid)N
1323(get)X
1441(host)X
1594(identi\256er)X
860 1348(sethostname)N
1323(set)X
1432(host)X
1585(name)X
860 1444(gethostname)N
1323(get)X
1441(host)X
1594(name)X
860 1540(getpid)N
1323(get)X
1441(process)X
1702(identi\256er)X
860 1636(getppid)N
1323(get)X
1441(parent)X
1662(process)X
1923(identi\256er)X
860 1732(fork)N
1323(create)X
1536(a)X
1592(new)X
1746(process)X
860 1828(vfork)N
1323(create)X
1536(a)X
1592(new)X
1746(process)X
860 1924(exit)N
1323(terminate)X
1646(a)X
1702(process)X
860 2020(wait4)N
1323(collect)X
1557(exit)X
1697(status)X
1899(of)X
1986(child)X
860 2116(execve)N
1323(execute)X
1589(a)X
1645(new)X
1799(program)X
860 2212(getuid)N
1323(get)X
1441(real)X
1582(user)X
1736(identi\256er)X
860 2308(geteuid)N
1323(get)X
1441(effective)X
1743(user)X
1897(identi\256er)X
860 2404(getgid)N
1323(get)X
1441(real)X
1582(group)X
1789(identi\256er)X
860 2500(getegid)N
1323(get)X
1441(effective)X
1743(group)X
1950(identi\256er)X
860 2596(getgroups)N
1323(get)X
1441(access)X
1667(group)X
1874(set)X
860 2692(setuid)N
1323(set)X
1432(real,)X
1593(effective,)X
1915(and)X
2051(saved)X
2254(user)X
2408(identi\256ers)X
860 2788(setgid)N
1323(set)X
1432(real,)X
1593(effective,)X
1915(and)X
2051(saved)X
2254(group)X
2461(identi\256ers)X
860 2884(setgroups)N
1323(set)X
1432(access)X
1658(group)X
1865(set)X
860 2980(seteuid)N
1323(set)X
1432(effective)X
1734(user)X
1888(identi\256er)X
860 3076(setegid)N
1323(set)X
1432(effective)X
1734(group)X
1941(identi\256er)X
860 3172(setsid)N
1323(create)X
1536(a)X
1592(new)X
1746(session)X
860 3268(setlogin)N
1323(set)X
1432(login)X
1616(name)X
860 3364(getlogin)N
1323(get)X
1441(login)X
1625(name)X
860 3460(getpgrp)N
1323(get)X
1441(process)X
1702(group)X
860 3556(setpgid)N
1323(set)X
1432(process)X
1693(group)X
576 3676(1.2)N
3 f
716(Memory)X
1031(management)X
1 f
860 3772(brk)N
1323(set)X
1432(data)X
1586(section)X
1833(size)X
860 3868(sbrk)N
1323(change)X
1571(data)X
1725(section)X
1972(size)X
860 3964(getpagesize)N
1323(get)X
1441(system)X
1683(page)X
1855(size)X
860 4060(mmap)N
1323(map)X
1481(\256les)X
1634(or)X
1721(devices)X
1982(into)X
2126(memory)X
860 4156(msync)N
1323(synchronize)X
1731(a)X
1787(mapped)X
2061(region)X
860 4252(munmap)N
1323(remove)X
1584(a)X
1640(mapping)X
860 4348(mprotect)N
1323(control)X
1570(the)X
1688(protection)X
2033(of)X
2120(pages)X
860 4444(madvise)N
1323(give)X
1481(advise)X
1706(about)X
1904(use)X
2031(of)X
2118(memory)X
860 4540(mincore)N
1323(get)X
1441(advise)X
1666(about)X
1864(use)X
1991(of)X
2078(memory)X
860 4636(mlock)N
1323(lock)X
1481(physical)X
1768(pages)X
1971(in)X
2053(memory)X
860 4732(munlock)N
1323(unlock)X
1561(physical)X
1848(pages)X
2051(in)X
2133(memory)X
860 4828(mset)N
1323(acquire)X
1580(and)X
1716(set)X
1825(a)X
1881(semaphore)X
860 4924(mclear)N
1323(release)X
1567(a)X
1623(semaphore)X
1991(and)X
2127(awaken)X
2393(waiting)X
2653(processes)X
860 5020(msleep)N
1323(wait)X
1481(for)X
1595(a)X
1651(semaphore)X
860 5116(mwakeup)N
1323(awaken)X
1589(process\(es\))X
1971(sleeping)X
2258(on)X
2358(a)X
2414(semaphore)X
576 5236(1.3)N
3 f
716(Signals)X
1 f
860 5332(sigaction)N
1323(setup)X
1512(software)X
1809(signal)X
2020(handler)X
860 5428(sigreturn)N
1323(return)X
1535(from)X
1711(a)X
1767(signal)X
860 5524(kill)N
1323(send)X
1490(signal)X
1701(to)X
1783(a)X
1839(process)X
860 5620(killpg)N
1323(send)X
1490(signal)X
1701(to)X
1783(a)X
1839(process)X
2100(group)X
860 5716(sigprocmask)N
1323(manipulate)X
1699(current)X
1947(signal)X
2158(mask)X
860 5812(sigsuspend)N
1323(atomically)X
1681(release)X
1925(blocked)X
2199(signals)X
2441(and)X
2577(wait)X
2735(for)X
2849(interrupt)X
41 p
%%Page: 41 39
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3717(PSD:5-41)X
860 672(sigpending)N
1323(get)X
1441(pending)X
1719(signals)X
860 768(sigaltstack)N
1323(set)X
1432(and/or)X
1657(get)X
1775(signal)X
1986(stack)X
2171(context)X
576 888(1.4)N
3 f
716(Timers)X
1 f
860 984(settimeofday)N
1323(set)X
1432(date)X
1586(and)X
1722(time)X
860 1080(gettimeofday)N
1323(get)X
1441(date)X
1595(and)X
1731(time)X
860 1176(adjtime)N
1323(synchronization)X
1855(of)X
1942(the)X
2060(system)X
2302(clock)X
860 1272(setitimer)N
1323(set)X
1432(value)X
1626(of)X
1713(interval)X
1978(timer)X
860 1368(getitimer)N
1323(get)X
1441(value)X
1635(of)X
1722(interval)X
1987(timer)X
860 1464(pro\256l)N
1323(control)X
1570(process)X
1831(pro\256ling)X
576 1584(1.5)N
3 f
716(Descriptors)X
1 f
860 1680(getdtablesize)N
1323(get)X
1441(descriptor)X
1782(table)X
1958(size)X
860 1776(dup)N
1323(duplicate)X
1637(an)X
1733(existing)X
2006(\256le)X
2128(descriptor)X
860 1872(dup2)N
1323(duplicate)X
1637(an)X
1733(existing)X
2006(\256le)X
2128(descriptor)X
860 1968(close)N
1323(delete)X
1535(a)X
1591(descriptor)X
860 2064(select)N
1323(synchronous)X
1748(I/O)X
1875(multiplexing)X
860 2160(fcntl)N
1323(\256le)X
1445(control)X
576 2280(1.6)N
3 f
716(Resource)X
1053(controls)X
1 f
860 2376(getpriority)N
1323(get)X
1441(program)X
1733(scheduling)X
2100(priority)X
860 2472(setpriority)N
1323(set)X
1432(program)X
1724(scheduling)X
2091(priority)X
860 2568(getrusage)N
1323(get)X
1441(information)X
1839(about)X
2037(resource)X
2330(utilization)X
860 2664(getrlimit)N
1323(get)X
1441(maximum)X
1785(system)X
2027(resource)X
2320(consumption)X
860 2760(setrlimit)N
1323(set)X
1432(maximum)X
1776(system)X
2018(resource)X
2311(consumption)X
576 2880(1.7)N
3 f
716(System)X
981(operation)X
1330(support)X
1 f
860 2976(sysctl)N
1323(get)X
1441(or)X
1528(set)X
1637(system)X
1879(information)X
860 3072(mount)N
1323(mount)X
1547(a)X
1603(\256lesystem)X
860 3168(getfsstat)N
1323(get)X
1441(list)X
1558(of)X
1645(all)X
1745(mounted)X
2045(\256lesystems)X
860 3264(swapon)N
1323(add)X
1459(a)X
1515(swap)X
1700(device)X
1930(for)X
2044(interleaved)X
2421(paging/swapping)X
860 3360(unmount)N
1323(dismount)X
1640(a)X
1696(\256lesystem)X
860 3456(sync)N
1323(force)X
1509(completion)X
1889(of)X
1976(pending)X
2254(disk)X
2407(writes)X
2623(\(\257ush)X
2825(cache\))X
860 3552(reboot)N
1323(reboot)X
1548(system)X
1790(or)X
1877(halt)X
2017(processor)X
860 3648(acct)N
1323(enable)X
1553(or)X
1640(disable)X
1887(process)X
2148(accounting)X
576 3792(2)N
3 f
716(System)X
981(facilities)X
1 f
576 3912(2.1)N
3 f
716(Generic)X
1008(operations)X
1 f
860 4008(read)N
1323(read)X
1482(input)X
860 4104(write)N
1323(write)X
1508(output)X
860 4200(readv)N
1323(read)X
1482(gathered)X
1779(input)X
860 4296(writev)N
1323(write)X
1508(scattered)X
1814(output)X
860 4392(ioctl)N
1323(control)X
1570(device)X
576 4512(2.2)N
3 f
716(Filesystem)X
1 f
860 4608(chdir)N
1323(change)X
1571(current)X
1819(working)X
2106(directory)X
860 4704(fchdir)N
1323(change)X
1571(current)X
1819(working)X
2106(directory)X
860 4800(chroot)N
1323(change)X
1571(root)X
1720(directory)X
860 4896(statfs)N
1323(get)X
1441(\256le)X
1563(system)X
1805(statistics)X
860 4992(fstatfs)N
1323(get)X
1441(\256le)X
1563(system)X
1805(statistics)X
860 5088(mkdir)N
1323(make)X
1517(a)X
1573(directory)X
1883(\256le)X
860 5184(rmdir)N
1323(remove)X
1584(a)X
1640(directory)X
1950(\256le)X
860 5280(getdirentries)N
1323(get)X
1441(directory)X
1751(entries)X
1985(in)X
2067(a)X
2123(\256lesystem)X
2467(independent)X
2879(format)X
860 5376(open)N
1323(open)X
1499(or)X
1586(create)X
1799(a)X
1855(\256le)X
1977(for)X
2091(reading)X
2352(or)X
2439(writing)X
860 5472(umask)N
1323(set)X
1432(\256le)X
1554(creation)X
1833(mode)X
2031(mask)X
860 5568(mknod)N
1323(make)X
1517(a)X
1573(special)X
1816(\256le)X
1938(node)X
860 5664(mk\256fo)N
1323(make)X
1517(a)X
1573(\256fo)X
1704(\256le)X
860 5760(link)N
1323(make)X
1517(a)X
1573(hard)X
1736(\256le)X
1858(link)X
42 p
%%Page: 42 40
10 s 10 xH 0 xS 1 f 1 i
576 384(PSD:5-42)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
860 672(symlink)N
1323(make)X
1517(a)X
1573(symbolic)X
1886(link)X
2030(to)X
2112(a)X
2168(\256le)X
860 768(readlink)N
1323(read)X
1482(value)X
1676(of)X
1763(a)X
1819(symbolic)X
2132(link)X
860 864(rename)N
1323(change)X
1571(the)X
1689(name)X
1883(of)X
1970(a)X
2026(\256le)X
860 960(unlink)N
1323(remove)X
1584(directory)X
1894(entry)X
860 1056(revoke)N
1323(revoke)X
1562(\256le)X
1684(access)X
860 1152(stat)N
1323(get)X
1441(\256le)X
1563(status)X
860 1248(fstat)N
1323(get)X
1441(\256le)X
1563(status)X
860 1344(lstat)N
1323(get)X
1441(\256le)X
1563(status)X
860 1440(chown)N
1323(change)X
1571(owner)X
1792(and)X
1928(group)X
2135(of)X
2222(a)X
2278(\256le)X
860 1536(fchown)N
1323(change)X
1571(owner)X
1792(and)X
1928(group)X
2135(of)X
2222(a)X
2278(\256le)X
860 1632(chmod)N
1323(change)X
1571(mode)X
1769(of)X
1856(\256le)X
860 1728(fchmod)N
1323(change)X
1571(mode)X
1769(of)X
1856(\256le)X
860 1824(ch\257ags)N
1323(set)X
1432(\256le)X
1554(\257ags)X
860 1920(fch\257ags)N
1323(set)X
1432(\256le)X
1554(\257ags)X
860 2016(utimes)N
1323(set)X
1432(\256le)X
1554(access)X
1780(and)X
1916(modi\256cation)X
2340(times)X
860 2112(access)N
1323(check)X
1531(access)X
1757(permissions)X
2159(of)X
2246(a)X
2302(\256le)X
2424(or)X
2511(pathname)X
860 2208(pathconf)N
1323(get)X
1441(con\256gurable)X
1862(pathname)X
2194(variables)X
860 2304(fpathconf)N
1323(get)X
1441(con\256gurable)X
1862(pathname)X
2194(variables)X
860 2400(lseek)N
1323(reposition)X
1663(read/write)X
2009(\256le)X
2131(offset)X
860 2496(truncate)N
1323(truncate)X
1602(a)X
1658(\256le)X
1780(to)X
1862(a)X
1918(speci\256ed)X
2223(length)X
860 2592(ftruncate)N
1323(truncate)X
1602(a)X
1658(\256le)X
1780(to)X
1862(a)X
1918(speci\256ed)X
2223(length)X
860 2688(fsync)N
1323(synchronize)X
1731(in-core)X
1979(state)X
2146(of)X
2233(a)X
2289(\256le)X
2411(with)X
2573(that)X
2713(on)X
2813(disk)X
860 2784(\257ock)N
1323(apply)X
1521(or)X
1608(remove)X
1869(an)X
1965(advisory)X
2261(lock)X
2419(on)X
2519(an)X
2615(open)X
2791(\256le)X
860 2880(quotactl)N
1323(manipulate)X
1699(\256lesystem)X
2043(quotas)X
860 2976(nfssvc)N
1323(NFS)X
1489(services)X
860 3072(getfh)N
1323(get)X
1441(\256le)X
1563(handle)X
576 3192(2.3)N
3 f
716(Interprocess)X
1164(communications)X
1 f
860 3288(socket)N
1323(create)X
1536(an)X
1632(endpoint)X
1932(for)X
2046(communication)X
860 3384(bind)N
1323(bind)X
1485(a)X
1541(name)X
1735(to)X
1817(a)X
1873(socket)X
860 3480(getsockname)N
1323(get)X
1441(socket)X
1666(name)X
860 3576(getpeername)N
1323(get)X
1441(name)X
1635(of)X
1722(connected)X
2068(peer)X
860 3672(listen)N
1323(listen)X
1516(for)X
1630(connections)X
2033(on)X
2133(a)X
2189(socket)X
860 3768(accept)N
1323(accept)X
1549(a)X
1605(connection)X
1977(on)X
2077(a)X
2133(socket)X
860 3864(connect)N
1323(initiate)X
1565(a)X
1621(connection)X
1993(on)X
2093(a)X
2149(socket)X
860 3960(socketpair)N
1323(create)X
1536(a)X
1592(pair)X
1737(of)X
1824(connected)X
2170(sockets)X
860 4056(pipe)N
1323(create)X
1536(descriptor)X
1877(pair)X
2022(for)X
2136(interprocess)X
2544(communication)X
860 4152(sendto)N
1323(send)X
1490(a)X
1546(message)X
1838(from)X
2014(a)X
2070(socket)X
860 4248(send)N
1323(send)X
1490(a)X
1546(message)X
1838(from)X
2014(a)X
2070(socket)X
860 4344(recvfrom)N
1323(receive)X
1576(a)X
1632(message)X
1924(from)X
2100(a)X
2156(socket)X
860 4440(recv)N
1323(receive)X
1576(a)X
1632(message)X
1924(from)X
2100(a)X
2156(socket)X
860 4536(sendmsg)N
1323(send)X
1490(a)X
1546(message)X
1838(from)X
2014(a)X
2070(socket)X
860 4632(recvmsg)N
1323(receive)X
1576(a)X
1632(message)X
1924(from)X
2100(a)X
2156(socket)X
860 4728(shutdown)N
1323(shut)X
1476(down)X
1674(part)X
1819(of)X
1906(a)X
1962(full-duplex)X
2338(connection)X
860 4824(getsockopt)N
1323(get)X
1441(options)X
1696(on)X
1796(socket)X
860 4920(setsockopt)N
1323(set)X
1432(options)X
1687(on)X
1787(socket)X
576 5040(2.4)N
3 f
716(Terminals)X
1087(and)X
1235(Devices)X
1 f
576 5160(2.5)N
3 f
716(Process)X
995(debugging)X
1 f
860 5256(ptrace)N
1323(process)X
1584(trace)X
860 5352(ktrace)N
1323(process)X
1584(tracing)X
576 5496(3)N
3 f
716(Summary)X
1074(of)X
1161(facilities)X
2 p
%%Page: 2 41
10 s 10 xH 0 xS 3 f 1 i
1 f
576 384(PSD:5-2)N
3090(4.4BSD)X
3365(Architecture)X
3787(Manual)X
3 f
14 s
2088 672(Contents)N
10 s
936 960(Notation)N
1254(and)X
1402(Types)X
1 f
3992(4)X
836 1104(1)N
3 f
936(Kernel)X
1192(primitives)X
1 f
3992(4)X
776 1224(1.1)N
3 f
936(Processes)X
1282(and)X
1430(protection)X
1 f
3992(5)X
716 1320(1.1.1)N
936(Host)X
1107(identi\256ers)X
3992(5)X
716 1416(1.1.2)N
936(Process)X
1201(identi\256ers)X
3992(5)X
716 1512(1.1.3)N
936(Process)X
1201(creation)X
1480(and)X
1616(termination)X
3992(5)X
716 1608(1.1.4)N
936(User)X
1108(and)X
1244(group)X
1451(IDs)X
3992(6)X
716 1704(1.1.5)N
936(Sessions)X
3992(7)X
716 1800(1.1.6)N
936(Process)X
1201(groups)X
3992(7)X
776 1920(1.2)N
3 f
936(Memory)X
1251(management)X
1 f
3992(8)X
716 2016(1.2.1)N
936(Text,)X
1123(data,)X
1297(and)X
1433(stack)X
3992(8)X
716 2112(1.2.2)N
936(Mapping)X
1245(pages)X
3992(8)X
716 2208(1.2.3)N
936(Page)X
1112(protection)X
1457(control)X
3952(10)X
716 2304(1.2.4)N
936(Giving)X
1178(and)X
1314(getting)X
1556(advice)X
3952(10)X
716 2400(1.2.5)N
936(Synchronization)X
1481(primitives)X
3952(10)X
776 2520(1.3)N
3 f
936(Signals)X
1 f
3952(11)X
716 2616(1.3.1)N
936(Overview)X
3952(11)X
716 2712(1.3.2)N
936(Signal)X
1160(types)X
3952(11)X
716 2808(1.3.3)N
936(Signal)X
1160(handlers)X
3952(12)X
716 2904(1.3.4)N
936(Sending)X
1218(signals)X
3952(13)X
716 3000(1.3.5)N
936(Protecting)X
1285(critical)X
1528(sections)X
3952(13)X
716 3096(1.3.6)N
936(Signal)X
1160(stacks)X
3952(14)X
776 3216(1.4)N
3 f
936(Timers)X
1 f
3952(14)X
716 3312(1.4.1)N
936(Real)X
1103(time)X
3952(14)X
716 3408(1.4.2)N
936(Interval)X
1206(time)X
3952(15)X
776 3528(1.5)N
3 f
936(Descriptors)X
1 f
3952(16)X
716 3624(1.5.1)N
936(The)X
1081 0.4531(reference)AX
1402(table)X
3952(16)X
716 3720(1.5.2)N
936(Descriptor)X
1295(properties)X
3952(16)X
716 3816(1.5.3)N
936(Managing)X
1281(descriptor)X
1622 0.3889(references)AX
3952(16)X
716 3912(1.5.4)N
936(Multiplexing)X
1373(requests)X
3952(17)X
776 4032(1.6)N
3 f
936(Resource)X
1273(controls)X
1 f
3952(18)X
716 4128(1.6.1)N
936(Process)X
1201(priorities)X
3952(18)X
716 4224(1.6.2)N
936(Resource)X
1255(utilization)X
3952(18)X
716 4320(1.6.3)N
936(Resource)X
1255(limits)X
3952(19)X
776 4440(1.7)N
3 f
936(System)X
1201(operation)X
1550(support)X
1 f
3952(20)X
716 4536(1.7.1)N
936(Monitoring)X
1320(system)X
1562(operation)X
3952(20)X
716 4632(1.7.2)N
936(Bootstrap)X
1267(operations)X
3952(20)X
716 4728(1.7.3)N
936(Shutdown)X
1280(operations)X
3952(21)X
716 4824(1.7.4)N
936(Accounting)X
3952(21)X
836 4968(2)N
3 f
936(System)X
1201(facilities)X
1 f
3952(21)X
776 5088(2.1)N
3 f
936(Generic)X
1228(operations)X
1 f
3952(22)X
716 5184(2.1.1)N
936(Read)X
1121(and)X
1257(write)X
3952(22)X
716 5280(2.1.2)N
936(Input/output)X
1351(control)X
3952(23)X
716 5376(2.1.3)N
936(Non-blocking)X
1401(and)X
1537(asynchronous)X
1998(operations)X
3952(23)X
776 5496(2.2)N
3 f
936(Filesystem)X
1 f
3952(24)X
716 5592(2.2.1)N
936(Overview)X
3952(24)X
716 5688(2.2.2)N
936(Naming)X
3952(24)X
716 5784(2.2.3)N
936(Creation)X
1232(and)X
1368(removal)X
3952(24)X
3 p
%%Page: 3 42
10 s 10 xH 0 xS 1 f 1 i
576 384(4.4BSD)N
851(Architecture)X
1273(Manual)X
3757(PSD:5-3)X
656 672(2.2.3.1)N
936(Directory)X
1264(creation)X
1543(and)X
1679(removal)X
3952(24)X
656 768(2.2.3.2)N
936(File)X
1080(creation)X
3952(25)X
656 864(2.2.3.3)N
936(Creating)X
1232 0.3889(references)AX
1584(to)X
1666(devices)X
3952(26)X
656 960(2.2.3.4)N
936(Links)X
1138(and)X
1274(renaming)X
3952(26)X
656 1056(2.2.3.5)N
936(File,)X
1100(device,)X
1350(and)X
1486(\256fo)X
1617(removal)X
3952(27)X
716 1152(2.2.4)N
936(Reading)X
1223(and)X
1359(modifying)X
1712(\256le)X
1834(attributes)X
3952(28)X
716 1248(2.2.5)N
936(Checking)X
1263(accessibility)X
3952(29)X
716 1344(2.2.6)N
936(Extension)X
1276(and)X
1412(truncation)X
3952(29)X
716 1440(2.2.7)N
936(Locking)X
3952(30)X
716 1536(2.2.8)N
936(Disk)X
1107(quotas)X
3952(30)X
716 1632(2.2.9)N
936(Remote)X
1205(\256lesystems)X
3952(31)X
676 1728(2.2.10)N
936(Other)X
1139(\256lesystems)X
3952(31)X
776 1848(2.3)N
3 f
936(Interprocess)X
1384(communications)X
1 f
3952(32)X
716 1944(2.3.1)N
936(Interprocess)X
1349(communication)X
1867(primitives)X
3952(32)X
656 2040(2.3.1.1)N
936(Communication)X
1471(domains)X
3952(32)X
656 2136(2.3.1.2)N
936(Socket)X
1174(types)X
1363(and)X
1499(protocols)X
3952(32)X
656 2232(2.3.1.3)N
936(Socket)X
1174(creation,)X
1473(naming)X
1733(and)X
1869(service)X
2117(establishment)X
3952(33)X
656 2328(2.3.1.4)N
936(Accepting)X
1286(connections)X
3952(33)X
656 2424(2.3.1.5)N
936(Making)X
1205(connections)X
3952(33)X
656 2520(2.3.1.6)N
936(Sending)X
1218(and)X
1354(receiving)X
1673(data)X
3952(34)X
656 2616(2.3.1.7)N
936(Scatter/gather)X
1402(and)X
1538(exchanging)X
1928(access)X
2154(rights)X
3952(35)X
656 2712(2.3.1.8)N
936(Using)X
1147(read)X
1306(and)X
1442(write)X
1627(with)X
1789(sockets)X
3952(36)X
656 2808(2.3.1.9)N
936(Shutting)X
1226(down)X
1424(halves)X
1649(of)X
1736(full-duplex)X
2112(connections)X
3952(36)X
616 2904(2.3.1.10)N
936(Socket)X
1174(and)X
1310(protocol)X
1597(options)X
3952(36)X
716 3000(2.3.2)N
936(PF_LOCAL)X
1351(domain)X
3952(36)X
656 3096(2.3.2.1)N
936(Types)X
1152(of)X
1239(sockets)X
3952(36)X
656 3192(2.3.2.2)N
936(Naming)X
3952(36)X
656 3288(2.3.2.3)N
936(Access)X
1184(rights)X
1386(transmission)X
3952(36)X
716 3384(2.3.3)N
936(INTERNET)X
1348(domain)X
3952(36)X
656 3480(2.3.3.1)N
936(Socket)X
1174(types)X
1363(and)X
1499(protocols)X
3952(37)X
656 3576(2.3.3.2)N
936(Socket)X
1174(naming)X
3952(37)X
656 3672(2.3.3.3)N
936(Access)X
1184(rights)X
1386(transmission)X
3952(37)X
656 3768(2.3.3.4)N
936(Raw)X
1103(access)X
3952(37)X
776 3888(2.4)N
3 f
936(Terminals)X
1307(and)X
1455(Devices)X
1 f
3952(37)X
716 3984(2.4.1)N
936(Terminals)X
3952(37)X
656 4080(2.4.1.1)N
936(Terminal)X
1250(input)X
3952(38)X
656 4176(2.4.1.2)N
936(Terminal)X
1250(output)X
3952(38)X
716 4272(2.4.2)N
936(Structured)X
1290(devices)X
3952(38)X
716 4368(2.4.3)N
936(Unstructured)X
1375(devices)X
3952(39)X
776 4488(2.5)N
3 f
936(Process)X
1215(debugging)X
1 f
3952(39)X
716 4584(2.5.1)N
936(Traditional)X
1312(debugging)X
3952(39)X
716 4680(2.5.2)N
936(Kernel)X
1175(tracing)X
3952(39)X
836 4824(3)N
3 f
936(Summary)X
1294(of)X
1381(facilities)X
1 f
3952(40)X
42 p
%%Trailer
xt
xs