%!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Fri Sep 13 13:05:48 1996 %%Pages: (atend) %%DocumentFonts: (atend) /devps 180 dict def devps begin /res 10.000000 def /y_offset 843 def /X{exch}bind def /mm {transform round X round X itransform} bind def /r{rmoveto}bind def /m{moveto}bind def /l{lineto}bind def /rl{rlineto}bind def /st{stroke}bind def /gs{gsave}bind def /gr{grestore}bind def /cp{currentpoint}bind def /np{newpath}bind def /ct{curveto}bind def systemdict /setpacking known { /savepacking currentpacking def true setpacking } if /m0{0 0 moveto}bind def /xc{//res div}bind def /yc{//res neg div //y_offset add}bind def /lc{yc X xc X l st}bind def /mc{yc X xc X m}bind def /el{gs /a X def a div 1 X scale cp np a xc 2 div 0 360 arc st gr}bind def /ar{cp 7 2 roll np xc 5 1 roll atan 3 1 roll atan X arc st}bind def /sp{yc X xc X 6 2 roll yc X xc X 6 2 roll yc X xc X 6 2 roll ct}bind def /V{//res neg div //y_offset add currentpoint pop X m}bind def /H{//res div 0 transform X round X itransform pop currentpoint X pop moveto}bind def /h{//res div 0 r}bind def /v{//res neg div 0 X r}bind def /S{X H show}bind def /A{H //res div 1 index stringwidth pop sub 1 index length div 0 3 2 roll ashow}bind def /psize 10 def /height 0 def /cheight { height 0 ne { height } { psize } ifelse } bind def /slant 0 def /FF{findfont X dup 30 div 0 mm pop setlinewidth /psize X def [psize 0 cheight slant sin slant cos div mul cheight 0 0] makefont setfont}bind def /shade{gs /dy X def /dx X def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fill gr}bind def 1 setlinecap /resolution res 72 mul def /startFig { /SavedState save def userdict maxlength dict begin currentpoint transform DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix itransform moveto /ury exch def /urx exch def /lly exch def /llx exch def /y exch 72 mul resolution div def /x exch 72 mul resolution div def currentpoint /cy exch def /cx exch def /sx x urx llx sub div def /sy y ury lly sub div def sx sy scale cx sx div llx sub cy sy div ury sub translate /DefFigCTM matrix currentmatrix def /initmatrix { DefFigCTM setmatrix } def /defaultmatrix { DefFigCTM exch copy } def /initgraphics { DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix DefFigCTM setmatrix } def /showpage { initgraphics } def }bind def /clipFig { currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll exch lineto exch lineto exch lineto closepath clip newpath moveto }bind def /doclip { llx lly urx ury clipFig } def /endFig { end SavedState restore }bind def /globalstart { fontnum psize slant height resolution currentpoint pagesave restore gsave }bind def /globalend { grestore moveto /resolution exch def /height exch def /slant exch def /psize exch def /fontnum exch def F /pagesave save def }bind def /fontnum 1 def systemdict /setpacking known { savepacking setpacking} if end /BP{ save mark devps begin m0 /DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap currentlinejoin currentdash currentgray currentmiterlimit ] cvx def }bind def /EP{ end cleartomark restore showpage}def /Encoding-1 256 array def 0 1 255 {Encoding-1 exch /.notdef put} for Encoding-1 8#301 StandardEncoding 8#101 26 getinterval putinterval %A-B Encoding-1 8#341 StandardEncoding 8#141 26 getinterval putinterval %a-b Encoding-1 8#241 StandardEncoding 8#301 16 getinterval putinterval %accents Encoding-1 8#373 StandardEncoding 8#365 1 getinterval putinterval %dotlessi Encoding-1 dup 8#41 /copyright put dup 8#42 /registered put dup 8#43 /trademark put dup 8#44 /logicalnot put dup 8#45 /Eth put dup 8#46 /eth put dup 8#47 /Thorn put dup 8#50 /thorn put dup 8#51 /brokenbar put dup 8#52 /degree put dup 8#53 /divide put dup 8#54 /multiply put dup 8#55 /minus put dup 8#56 /onehalf put dup 8#57 /onequarter put dup 8#60 /threequarters put dup 8#101 /Aacute put dup 8#102 /Acircumflex put dup 8#103 /Adieresis put dup 8#104 /Agrave put dup 8#105 /Aring put dup 8#106 /Atilde put dup 8#107 /Ccedilla put dup 8#110 /Eacute put dup 8#111 /Ecircumflex put dup 8#112 /Edieresis put dup 8#113 /Egrave put dup 8#114 /Iacute put dup 8#115 /Icircumflex put dup 8#116 /Idieresis put dup 8#117 /Igrave put dup 8#120 /Ntilde put dup 8#121 /Oacute put dup 8#122 /Ocircumflex put dup 8#123 /Odieresis put dup 8#124 /Ograve put dup 8#125 /Otilde put dup 8#126 /Scaron put dup 8#127 /Uacute put dup 8#130 /Ucircumflex put dup 8#131 /Udieresis put dup 8#132 /Ugrave put dup 8#133 /Ydieresis put dup 8#134 /Zcaron put dup 8#135 /aacute put dup 8#136 /acircumflex put dup 8#137 /adieresis put dup 8#140 /agrave put dup 8#141 /aring put dup 8#142 /atilde put dup 8#143 /ccedilla put dup 8#144 /eacute put dup 8#145 /ecircumflex put dup 8#146 /edieresis put dup 8#147 /egrave put dup 8#150 /iacute put dup 8#151 /icircumflex put dup 8#152 /idieresis put dup 8#153 /igrave put dup 8#154 /ntilde put dup 8#155 /oacute put dup 8#156 /ocircumflex put dup 8#157 /odieresis put dup 8#160 /ograve put dup 8#161 /otilde put dup 8#162 /scaron put dup 8#163 /uacute put dup 8#164 /ucircumflex put dup 8#165 /udieresis put dup 8#166 /ugrave put dup 8#167 /ydieresis put dup 8#170 /zcaron put pop /Enc-dict 30 dict def Enc-dict /tmpstr1 50 string put Enc-dict /tmpstr2 50 string put Enc-dict /tmpstr3 50 string dup (Encoding-) exch cvs pop put /AEnc-def { % arguments: the original font's name, encoding nr Enc-dict begin tmpstr2 cvs /Enc-no exch def % Remember the number in a string dup /OrigName exch def % remember the name findfont dup maxlength dict /newdict exch def % get dictionary for new font { exch dup /FID ne { exch newdict 3 1 roll put } { pop pop } % Ignore FID ifelse } forall newdict begin /Encoding tmpstr3 9 Enc-no putinterval tmpstr3 0 9 Enc-no length add getinterval cvn load def % Replace encoding currentdict /UniqueID known { /UniqueID UniqueID Enc-no cvi 49999 mul add def } if % Derive New UniqueID end % newdict /FNlength OrigName tmpstr1 cvs length def % convert name, remember length FNlength 1 add Enc-no length add string dup 0 OrigName tmpstr1 cvs putinterval dup FNlength (-) putinterval dup FNlength 1 add Enc-no putinterval dup 0 tmpstr1 0 FNlength getinterval putinterval % Add old name cvn dup newdict /FontName 3 2 roll put newdict definefont end % Enc-dict } def /Times-Roman 1 AEnc-def pop /R-1{/Times-Roman-1 FF}def /R{/Times-Roman FF}def /B{/Times-Bold FF}def /I{/Times-Italic FF}def %%EndProlog %%Page: 1 1 BP /slant 0 def /height 0 def 480 V 10 R 720(OPEN)S 992(\()S 1034(2)S 1092(\))S 2696(Eighth)S (Edition)296 2989 A 4855(OPEN)S 5127(\()S 5169(2)S 5227(\))S 960 V 9 R 720(N)S 722(NA)S 790(AM)S 858(ME)S 940(E)S 1080 V 10 R 1080(open)S 10 R-1 1300(-)S 10 R 1382(open)S 1602(a)S 1672(\256le)S 1826(for)S 1969(reading)S 2296(or)S (writing,)316 2405 A 2746(or)S 2855(create)S 3122(a)S 3192(new)S 3385(\256le)S 1248 V 9 R 720(S)S 722(SY)S 774(YN)S 842(NO)S 910(OP)S 978(PS)S 1030(SI)S 1082(IS)S 1115(S)S 1368 V 10 B 1080(#include)S 1482()S 1488 V 1080(#include)S 1482()S 1728 V 1080(int)S 1236(open\(const)S 1739(char)S 1973(*)S 10 I 2023(path)S 10 B 2201(,)S 2264(int)S 10 I (\257ags)189 2420 A 10 R 2647([)S 10 B 2681(,)S 2744(mode_t)S 10 I 3101(mode)S 10 R 3319(])S 10 B 3353(\))S 1896 V 9 R 720(D)S 722(DE)S 790(ES)S 848(SC)S 900(CR)S 962(RI)S 1024(IP)S 1057(PT)S 1109(TI)S 1167(IO)S 1200(ON)S 1268(N)S 2016 V 10 B 1080(Open)S 10 R 1349(opens)S 1617(the)S 1774(\256le)S 10 I 1937(path)S 10 R 2149(for)S 2301(reading)S 2637(and/or)S (writing,)316 2928 A 3278(as)S 3396(speci\256ed)S 3789(by)S 3924(the)S 10 I (\257ags)189 4082 A 10 R 4306(argument)S 4721(and)S 4901(returns)S 5216(a)S 2136 V 1080(descriptor)S 1515(for)S 1665(that)S 1848(\256le.)S 2059(The)S 10 I (\257ags)189 2248 A 10 R 2469(argument)S 2881(may)S 3086(indicate)S 3437(the)S 3592(\256le)S 3753(is)S 3852(to)S 3961(be)S 4087(created)S 4410(if)S 4503(it)S 4590(does)S 4805(not)S 4964(already)S 2256 V 1080(exist)S 1296(\(by)S 1456(specifying)S 1901(the)S 2050(O_CREAT)S 2530(\257ag\),)S 2766(in)S 2870(which)S 3143(case)S 3344(the)S 3494(\256le)S 3650(is)S 3744(created)S 4063(with)S 4269(mode)S 10 I 4519(mode)S 10 R 4764(as)S 4875(described)S 2376 V 1080(in)S 10 B 1183(chmod)S 10 R 1474(\(2\))S 1617(and)S 1787(modi\256ed)S 2169(by)S 2294(the)S 2442(process')S 2803(umask)S 3090(value)S 3333(\(see)S 10 B 3521(umask)S 10 R 3806(\(2\)\).)S 2544 V 10 I 1080(Path)S 10 R 1296(is)S 1389(the)S 1539(address)S 1868(of)S 1979(a)S 2051(string)S 2307(of)S 2418(ASCII)S 2709(characters)S 3146(representing)S 3671(a)S 3743(path)S 3943(name,)S 4213(terminated)S 4671(by)S 4798(a)S 4870(null)S 5053(char-)S 2664 V 1080(acter.)S 1352(The)S 1534(\257ags)S 1749(speci\256ed)S 2132(are)S 2281(formed)S 2597(by)S 10 I 2722(or)S 10 R 2819('ing)S 3006(the)S 3154(following)S 3570(values)S 2832 V (O_RDONLY)544 1440 A 2040(open)S 2260(for)S 2403(reading)S 2730(only)S 2952 V 1440(O_WRONLY)S 2040(open)S 2260(for)S (writing)291 2403 A 2719(only)S 3072 V 1440(O_RDWR)S 2040(open)S 2260(for)S 2403(reading)S 2730(and)S (writing)291 2900 A 3192 V (O_NONBLOCKdo)784 1440 A 2249(not)S 2402(block)S 2650(on)S 2775(open)S 3312 V 1440(O_APPEND)S 2040(append)S 2355(on)S (each)185 2480 A 2690(write)S 3432 V 1440(O_CREAT)S 2040(create)S 2307(\256le)S 2461(if)S 2548(it)S 2629(does)S 2838(not)S 2991(exist)S 3552 V 1440(O_TRUNC)S 2040(truncate)S 2390(size)S 2572(to)S 2675(0)S 3672 V 1440(O_EXCL)S 2040(error)S 2262(if)S 2349(create)S 2616(and)S 2786(\256le)S 2940(exists)S 3840 V 1080(Opening)S 1471(a)S 1561(\256le)S 1735(with)S 1959(O_APPEND)S 2521(set)S 2679(causes)S (each)185 2988 A 3219(write)S 3473(on)S 3619(the)S 3788(\256le)S 3963(to)S 4087(be)S 4228(appended)S 4659(to)S 4783(the)S 4952(end.)S 5193(If)S 3960 V 1080(O_TRUNC)S 1578(is)S 1678(speci\256ed)S 2069(and)S 2247(the)S 2402(\256le)S 2563(exists,)S 2849(the)S 3004(\256le)S 3165(is)S 3264(truncated)S 3671(to)S 3781(zero)S 3987(length.)S 4320(If)S 4420(O_EXCL)S 4839(is)S 4938(set)S 5082(with)S 4080 V 1080(O_CREAT,)S 1590(then)S 1794(if)S 1887(the)S 2042(\256le)S 2203(already)S 2532(exists,)S 2818(the)S 2973(open)S 3200(returns)S 3512(an)S 3639(error.)S 3918(This)S 4129(can)S 4301(be)S 4428(used)S 4644(to)S 4754(implement)S 5216(a)S 4200 V 1080(simple)S 1374(exclusive)S (access)258 1780 A 2064(locking)S 2391(mechanism.)S 2925(If)S 3018(O_EXCL)S 3430(is)S 3522(set)S 3659(and)S 3829(the)S 3977(last)S (component)446 4142 A 4613(of)S 4722(the)S 4870(pathname)S 4320 V 1080(is)S 1183(a)S 1264(symbolic)S 1668(link,)S 1885(the)S 2044(open)S (will)157 2275 A 2468(fail)S 2639(even)S 2865(if)S 2963(the)S 3122(symbolic)S 3526(link)S 3718(points)S 3999(to)S 4113(a)S (non-existent)497 4194 A 4728(name.)S 5033(If)S 5138(the)S 4440 V (O_NONBLOCK)684 1080 A 1793(\257ag)S 1973(is)S 2069(speci\256ed)S 2456(and)S 2630(the)S 2782(open)S 3006(call)S 3181(would)S 3461(result)S 3714(in)S 3821(the)S 3973(process)S 4304(being)S 4556(blocked)S 4903(for)S 5049(some)S 4560 V 1080(reason,)S 1393(the)S 1541(open)S 1761(returns)S 2066(immediately.)S 4728 V (Upon)223 1080 A (successful)414 1328 A 1767(completion)S 2244(a)S (non-negative)525 2315 A 2866(integer)S 3172(termed)S 3478(a)S 3549(\256le)S 3704(descriptor)S 4133(is)S 4226(returned.)S 4638(The)S 4821(\256le)S 4976(pointer)S 4848 V 1080(used)S 1289(to)S 1392(mark)S 1624(the)S 1772(current)S (position)323 2083 A 2431(within)S 2713(the)S 2861(\256le)S 3015(is)S 3107(set)S 3244(to)S 3347(the)S 3495(beginning)S 3921(of)S 4030(the)S 4178(\256le.)S 5016 V 1080(The)S 1262(new)S 1455(descriptor)S 1883(is)S 1975(set)S 2112(to)S 2215(remain)S 2520(open)S 2740(across)S 10 B 3017(execve)S 10 R 3322(system)S 3626(calls;)S 3864(see)S 10 B 4018(close)S 10 R 4225(\(2\).)S 5184 V 1080(The)S 1262(system)S 1566(imposes)S 1920(a)S 1990(limit)S 2205(on)S 2330(the)S 2478(number)S 2810(of)S 2919(descriptors)S 3386(open)S 3606(simultaneously)S 4239(by)S 4364(one)S 4534(process.)S 5352 V 9 R 720(E)S 722(ER)S 780(RR)S 842(RO)S 904(OR)S 972(RS)S 1034(S)S 5472 V 10 R 1080(The)S 1262(named)S 1555(\256le)S 1709(is)S 1801(opened)S 2116(unless)S 2392(one)S 2562(or)S 2671(more)S 2903(of)S 3012(the)S 3160(following)S 3576(are)S 3725(true:)S 5640 V 1080([ENOTDIR])S 1830(A)S (component)446 1928 A 2399(of)S 2508(the)S 2656(path)S 2854(pre\256x)S 3114(is)S 3206(not)S 3359(a)S 3429(directory.)S 5808 V ([ENAMETOOLONG])916 1080 A 5928 V 1830(The)S 2012(path)S 2210(name)S (exceeds)319 2453 A 2797(PATH_MAX)S 3371(characters.)S 6096 V 1080([ENOENT])S 1830(O_CREAT)S 2309(is)S 2401(not)S 2554(set)S 2691(and)S 2861(the)S 3009(named)S 3302(\256le)S 3456(does)S 3665(not)S 3818(exist.)S 6264 V 1080([ENOENT])S 1830(A)S (component)446 1928 A 2399(of)S 2508(the)S 2656(path)S 2854(name)S 3097(that)S 3273(must)S 3493(exist)S 3708(does)S 3917(not)S 4070(exist.)S 6432 V 1080([EACCES])S 1830(Search)S 2130(permission)S 2596(is)S 2688(denied)S 2981(for)S 3124(a)S (component)446 3194 A 3665(of)S 3774(the)S 3922(path)S 4120(pre\256x.)S 6600 V 1080([EACCES])S 1830(The)S 2012(required)S 2373(permissions)S 2878(\(for)S 3055(reading)S 3382(and/or)S (writing\))325 3664 A 4014(are)S 4163(denied)S 4456(for)S 4599(the)S 4747(named)S 5040(\256le.)S 6768 V 1080([EACCES])S 1830(O_CREAT)S 2315(is)S 2413(speci\256ed,)S 2827(the)S 2981(\256le)S 3141(does)S 3356(not)S 3515(exist,)S 3761(and)S 3937(the)S 4091(directory)S 4486(in)S 4595(which)S 4872(it)S 4959(is)S 5057(to)S 5166(be)S 6888 V 1830(created)S 2147(does)S 2356(not)S 2509(permit)S (writing.)316 2797 A 7056 V 1080([EACCES])S 1830(A)S 1928(device)S 2216(to)S 2319(be)S 2439(opened)S 2754(for)S (writing)291 2897 A 3213(is)S (physically)413 3305 A 3743(write)S 3976(protected.)S 7224 V 1080([ELOOP])S 1830(Too)S 2033(many)S 2297(symbolic)S 2706(links)S 2942(were)S (encountered)492 3180 A 3713(in)S 3833(translating)S 4300(the)S 4465(pathname.)S 4948(\(Minix-)S 7344 V 1830(vmd\))S 7903 V 720(Page)S 941(1)S 2669(\()S 2711(May)S 2920(14,)S (1986)200 3070 A 3278(\))S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Page: 2 2 BP /slant 0 def /height 0 def 480 V 10 R 720(OPEN)S 992(\()S 1034(2)S 1092(\))S 2696(Eighth)S (Edition)296 2989 A 4855(OPEN)S 5127(\()S 5169(2)S 5227(\))S 960 V 1080([EISDIR])S 1830(The)S 2018(named)S 2317(\256le)S 2477(is)S 2575(a)S 2651(directory,)S 3071(and)S 3247(the)S 3401(arguments)S 3851(specify)S 4173(it)S 4260(is)S 4358(to)S 4467(be)S 4593(opened)S 4914(for)S 5064(writ-)S 1080 V 1830(ing.)S 1248 V 1080([EROFS])S 1830(The)S 2012(named)S 2305(\256le)S 2459(resides)S 2764(on)S 2889(a)S 2959(read-only)S 3370(\256le)S 3524(system,)S 3853(and)S 4023(the)S 4171(\256le)S 4325(is)S 4417(to)S 4520(be)S 4640(modi\256ed.)S 1416 V 1080([EMFILE])S 1830(The)S 2012(system)S 2316(limit)S 2531(for)S 2674(open)S 2894(\256le)S 3048(descriptors)S 3515(per)S 3669(process)S 3996(has)S 4155(already)S 4477(been)S (reached.)339 4692 A 1584 V 1080([ENFILE])S 1830(The)S 2012(system)S 2316(\256le)S 2470(table)S 2691(is)S 2783(full.)S 1752 V 1080([ENXIO])S 1830(The)S 2017(named)S 2315(\256le)S 2474(is)S 2571(a)S 2646(character)S 3047(special)S 3358(or)S 3473(block)S 3727(special)S 4038(\256le,)S 4223(and)S 4399(the)S 4553(device)S 4847(associated)S 1872 V 1830(with)S 2034(this)S 2204(special)S 2509(\256le)S 2663(does)S 2872(not)S 3025(exist.)S 2040 V 1080([ENOSPC])S 1830(O_CREAT)S 2317(is)S 2417(speci\256ed,)S 2833(the)S 2989(\256le)S 3151(does)S 3368(not)S 3529(exist,)S 3777(and)S 3955(the)S 4111(directory)S 4508(in)S 4619(which)S 4898(the)S 5054(entry)S 2160 V 1830(for)S 1978(the)S 2131(new)S 2329(\256le)S 2487(is)S 2583(being)S (placed)263 2835 A (cannot)268 3127 A 3424(be)S 3548(extended)S (because)319 3940 A 4288(there)S 4519(is)S 4615(no)S (space)224 4744 A 4997(left)S 5161(on)S 2280 V 1830(the)S 1978(\256le)S 2132(system)S 2436(containing)S 2885(the)S 3033(directory.)S 2448 V 1080([ENOSPC])S 1830(O_CREAT)S 2309(is)S 2401(speci\256ed,)S 2809(the)S 2957(\256le)S 3111(does)S 3320(not)S 3473(exist,)S 3713(and)S 3883(there)S 4110(are)S 4259(no)S 4385(free)S (inodes)262 4569 A 4857(on)S 4983(the)S 5132(\256le)S 2568 V 1830(system)S 2134(on)S 2259(which)S 2530(the)S 2678(\256le)S 2832(is)S 2924(being)S 3172(created.)S 2736 V 1080([EIO])S 1830(An)S 1988(I/O)S 2158(error)S 2390(occurred)S 2778(while)S 3037(making)S 3373(the)S 3531(directory)S 3930(entry)S 4172(or)S 4292(allocating)S 4725(the)S (inode)223 4884 A 5143(for)S 2856 V 1830(O_CREAT.)S 3024 V 1080([EFAULT])S 10 I 1830(Path)S 10 R 2045(points)S 2315(outside)S 2630(the)S 2778(process's)S 3178(allocated)S 3567(address)S (space.)249 3894 A 3192 V 1080([EEXIST])S 1830(O_CREAT)S 2309(and)S 2479(O_EXCL)S 2891(were)S 3113(speci\256ed)S 3496(and)S 3666(the)S 3814(\256le)S 3968(exists.)S 3360 V 9 R 720(S)S 722(SE)S 774(EE)S 832(E)S 913(A)S 915(AL)S 983(LS)S 1041(SO)S 1093(O)S 3480 V 10 B 1080(chmod)S 10 R 1371(\(2\),)S 10 B 1539(close)S 10 R 1746(\(2\),)S 10 B (dup)168 1914 A 10 R 2082(\(2\),)S 10 B 2250(fcntl)S 10 R 2447(\(2\),)S 10 B 2615(lseek)S 10 R 2828(\(2\),)S 10 B 2996(read)S 10 R 3192(\(2\),)S 10 B 3360(write)S 10 R 3585(\(2\),)S 10 B 3753(umask)S 10 R 4038(\(2\).)S 7903 V 720(September)S 1176(13,)S (1996)200 1326 A 2669(\()S 2711(May)S 2920(14,)S (1986)200 3070 A 3278(\))S 4990(Page)S 5211(2)S 8143 V EP %%Trailer %%DocumentFonts: Times-Roman Times-Bold Times-Italic %%Pages: 2