%!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Fri Sep 13 13:05:56 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(STAT)S 981(\()S 1023(2)S 1081(\))S 2696(Eighth)S (Edition)296 2989 A 4866(STAT)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(stat,)S 1270(lstat,)S 1488(fstat)S 10 R-1 1687(-)S 10 R 1769(get)S 1917(\256le)S 2071(status)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(stat\(const)S 1689(char)S 1923(*)S 10 I 1973(path)S 10 B 2151(,)S 2214(struct)S 2505(stat)S 2700(*)S 10 I 2750(buf)S 10 B 2878(\))S 1848 V 1080(int)S 1236(lstat\(const)S 1717(char)S 1951(*)S 10 I 2001(path)S 10 B 2179(,)S 2242(struct)S 2533(stat)S 2728(*)S 10 I 2778(buf)S 10 B 2906(\))S 3780(\(Minix-vmd\))S 1968 V 1080(int)S 1236(fstat\(int)S 10 I 1617(fd)S 10 B 1695(,)S 1758(struct)S 2049(stat)S 2244(*)S 10 I 2294(buf)S 10 B 2422(\))S 2136 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 2256 V 10 B 1080(Stat)S 10 R 1281(obtains)S 1598(information)S (about)223 2100 A 2350(the)S 2500(\256le)S 10 I 2656(path)S 10 R 2842(.)S 2919(Read,)S 3178(write)S 3413(or)S 3524(execute)S 3859(permission)S 4327(of)S 4438(the)S 4588(named)S 4883(\256le)S 5039(is)S 5133(not)S 2376 V 1080(required,)S 1466(but)S 1619(all)S 1745(directories)S 2196(listed)S 2439(in)S 2542(the)S 2690(path)S 2888(name)S 3131(leading)S 3452(to)S 3555(the)S 3703(\256le)S 3857(must)S 4077(be)S (reachable.)412 4197 A 2544 V 10 B 1080(Lstat)S 10 R 1331(is)S 1425(like)S 10 B 1603(stat)S 10 R 1787(except)S 2077(in)S 2182(the)S 2332(case)S 2534(where)S 2809(the)S 2960(named)S 3256(\256le)S 3413(is)S 3508(a)S 3581(symbolic)S 3977(link,)S 4186(in)S 4292(which)S 4566(case)S 10 B 4768(lstat)S 10 R 4981(returns)S 2664 V 1080(information)S (about)223 1592 A 1852(the)S 2012(link,)S 2230(while)S 10 B 2491(stat)S 10 R 2685(returns)S 3001(information)S (about)223 3512 A 3771(the)S 3930(\256le)S 4095(the)S 4254(link)S 4446(references.)S 4948(\(Minix-)S 2784 V 1080(vmd\))S 2952 V 10 B 1080(Fstat)S 10 R 1332(obtains)S 1655(the)S 1811(same)S 2051(information)S (about)223 2559 A 2815(an)S 2943(open)S 3171(\256le)S 3333(referenced)S 3793(by)S 3926(the)S 4083(argument)S 4497(descriptor,)S 4959(such)S 5177(as)S 3072 V 1080(would)S 1363(be)S 1490(obtained)S 1868(by)S 2000(an)S 10 B 2127(open)S 10 R 2366(call.)S 2594(Pipe)S 2805(descriptors)S (look)178 3279 A 3489(like)S 3672(named)S 3972(pipes)S 4216(with)S 4427(a)S 4504(link)S (count)223 4692 A 4947(of)S 5062(zero.)S 3192 V 1080(The)S 1262(st_size)S 1561(\256eld)S 1765(of)S 1874(pipes)S 2111(or)S 2220(named)S 2513(pipes)S 2750(shows)S 3026(the)S (amount)301 3174 A 3500(of)S 3609(bytes)S 3846(currently)S 4235(buffered)S 4602(in)S 4705(the)S 4853(pipe.)S 3360 V 10 I 1080(Buf)S 10 R 1246(is)S 1339(a)S 1410(pointer)S 1721(to)S 1825(a)S 10 B 1896(stat)S 10 R 2079(structure)S 2459(into)S 2642(which)S 2915(information)S 3417(is)S (placed)263 3511 A 3801(concerning)S 4275(the)S 4425(\256le.)S 4631(The)S 4815(contents)S 5177(of)S 3480 V 1080(the)S 1228(structure)S 1606(pointed)S 1932(to)S 2035(by)S 10 I 2160(buf)S 10 R 2313(is)S 2405(as)S 2514(follows:)S 3648 V 1440(struct)S 1689(stat)S 1854({)S 3768 V 1728(dev_t)S 2304(st_dev;)S 3024(/*)S 3127(device)S (inode)223 3415 A 3663(resides)S 3968(on)S 4093(*/)S 3888 V (ino_t)206 1728 A 2304(st_ino;)S 3024(/*)S 3127(this)S (inode's)296 3297 A 3618(number)S 3950(*/)S 4008 V 1728(mode_t)S 2304(st_mode;)S 3024(/*)S 3127(\256le)S 3281(mode,)S 3554(protection)S 3987(bits,)S 4182(etc.)S 4350(*/)S 4128 V (nlink_t)284 1728 A 2304(st_nlink;)S 3024(/*)S 3127(number)S 3459(or)S 3568(hard)S 3772(links)S 3992(to)S 4095(the)S 4243(\256le)S 4397(*/)S 4248 V 1728(uid_t)S 2304(st_uid;)S 3024(/*)S 3127(user-id)S 3432(of)S 3541(the)S 3689(\256le's)S 3916(owner)S 4193(*/)S 4368 V 1728(gid_t)S 2304(st_gid;)S 3024(/*)S (group-id)346 3127 A 3498(of)S 3607(the)S 3755(\256le's)S 3982(owner)S 4259(*/)S 4488 V 1728(dev_t)S 2304(st_rdev;)S 3024(/*)S 3127(the)S 3275(device)S 3563(type,)S 3786(for)S (inode)223 3929 A 4177(that)S 4353(is)S 4445(device)S 4733(*/)S 4608 V 1728(off_t)S 2304(st_size;)S 3024(/*)S 3127(total)S 3331(size)S 3513(of)S 3622(\256le)S 3776(*/)S 4728 V 1728(time_t)S 2304(st_atime;)S 3024(/*)S 3127(time)S 3331(of)S 3440(last)S (access)258 3605 A 3888(*/)S 4848 V 1728(time_t)S 2304(st_mtime;)S 3024(/*)S 3127(time)S 3331(of)S 3440(last)S 3605(data)S 3798(modi\256cation)S 4331(*/)S 4968 V 1728(time_t)S 2304(st_ctime;)S 3024(/*)S 3127(time)S 3331(of)S 3440(last)S 3605(\256le)S 3759(status)S 4013(change)S 4323(*/)S 5088 V 1440(};)S 5256 V 1080(st_atime)S 1680(Time)S 1923(when)S 2171(\256le)S 2330(data)S 2528(was)S 2715(last)S 2885(read)S 3090(or)S 3205(modi\256ed.)S 3643(Changed)S 4031(by)S 4162(the)S 4316(following)S 4738(system)S 5048(calls:)S 5376 V 10 B 1680(mknod)S 10 R 1982(\(2\),)S 10 B 2160(utime)S 10 R 2407(\(2\),)S 10 B 2585(read)S 10 R 2781(\(2\),)S 2959(and)S 10 B 3139(write)S 10 R 3364(\(2\).)S 3567(For)S 3742(reasons)S 4079(of)S 4198(ef\256ciency,)S 4656(st_atime)S 5032(is)S 5133(not)S 5496 V 1680(set)S 1817(when)S 2060(a)S 2130(directory)S 2519(is)S 2611(searched,)S (although)351 3014 A 3390(this)S 3560(would)S 3836(be)S 3956(more)S 4188(logical.)S 5664 V 1080(st_mtime)S 1680(Time)S 1921(when)S 2167(data)S 2363(was)S 2549(last)S 2718(modi\256ed.)S 3154(It)S 3245(is)S 3341(not)S 3498(set)S 3639(by)S 3768(changes)S 4121(of)S 4234(owner,)S (group,)259 4540 A 4828(link)S (count,)248 5013 A 5784 V 1680(or)S 1789(mode.)S 2087(Changed)S 2469(by)S 2594(the)S 2742(following)S 3158(system)S 3462(calls:)S 10 B 3700(mknod)S 10 R 4002(\(2\),)S 10 B 4170(utime)S 10 R 4417(\(2\),)S 10 B 4585(write)S 10 R 4810(\(2\).)S 5952 V 1080(st_ctime)S 1680(Time)S 1923(when)S 2171(\256le)S 2330(status)S 2589(was)S 2776(last)S 2946(changed.)S 3361(It)S 3453(is)S 3550(set)S 3692(both)S 3901(both)S 4110(by)S (writing)291 4241 A 4563(and)S 4739(changing)S 5138(the)S 6072 V (i-node.)282 1680 A 2062(Changed)S 2494(by)S 2668(the)S 2865(following)S 3330(system)S 3683(calls:)S 10 B 3970(chmod)S 10 R 4261(\(2\))S 10 B 4453(chown)S 10 R 4733(\(2\),)S 10 B 4950(link)S 10 R 5118(\(2\),)S 6192 V 10 B 1680(mknod)S 10 R 1982(\(2\),)S 10 B 2150(rename)S 10 R 2475(\(2\),)S 10 B 2643(unlink)S 10 R 2923(\(2\),)S 10 B 3091(utime)S 10 R 3338(\(2\),)S 10 B 3506(write)S 10 R 3731(\(2\).)S 6360 V 1080(The)S 1262(\256le)S 1416(type)S 1614(information)S 2114(in)S 10 B 2217(st_mode)S 10 R 2600(has)S 2759(bits:)S 6528 V 1330(#de\256ne)S 1651(S_IFMT)S (0170000)350 2482 A 3130(/*)S 3233(type)S 3431(of)S 3540(\256le)S 3694(*/)S 6648 V 1330(#de\256ne)S 1726(S_IFIFO)S (0010000)350 2482 A 3130(/*)S 3233(named)S 3526(pipe)S 3724(*/)S 6768 V 1330(#de\256ne)S 1726(S_IFCHR)S (0020000)350 2482 A 3130(/*)S 3233(character)S 3629(special)S 3934(*/)S 6888 V 1330(#de\256ne)S 1726(S_IFDIR)S (0040000)350 2482 A 3130(/*)S 3233(directory)S 3622(*/)S 7008 V 1330(#de\256ne)S 1726(S_IFBLK)S (0060000)350 2482 A 3130(/*)S 3233(block)S 3481(special)S 3786(*/)S 7128 V 1330(#de\256ne)S 1726(S_IFREG)S (0100000)350 2482 A 3130(/*)S 3233(regular)S 3544(*/)S 7248 V 1330(#de\256ne)S 1726(S_IFLNK)S (0120000)350 2482 A 3130(/*)S 3233(symbolic)S 3626(link)S 3807(\(Minix-vmd\))S 4357(*/)S 7903 V 720(Page)S 941(1)S 2669(\()S 2711(May)S 2920(12,)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(STAT)S 981(\()S 1023(2)S 1081(\))S 2696(Eighth)S (Edition)296 2989 A 4866(STAT)S 5127(\()S 5169(2)S 5227(\))S 960 V 1080(The)S 1262(mode)S 1510(bits)S (0007777)350 1680 A 2055(encode)S 2365(set-uid/gid)S 2820(bits)S 2990(and)S 3160(permission)S 3626(bits)S 3796(\(see)S 10 B 3984(chmod)S 10 R 4275(\(2\)\).)S 1128 V 9 R 720(R)S 722(RE)S 784(ET)S 842(TU)S 900(UR)S 968(RN)S 1030(N)S 1121(V)S 1123(VA)S 1191(AL)S 1259(LU)S 1317(UE)S 1385(E)S 1248 V 10 R (Upon)223 1080 A (successful)414 1330 A 1771(completion)S 2250(a)S 2322(value)S 2567(of)S 2678(0)S 2755(is)S 2849(returned.)S 3262(Otherwise,)S 3729(a)S 3801(value)S 4046(of)S 10 R-1 4158(-)S 10 R 4215(1)S 4293(is)S 4388(returned)S 4752(and)S 10 B (errno)241 4925 A 10 R 5194(is)S 1368 V 1080(set)S 1217(to)S 1320(indicate)S 1664(the)S 1812(error.)S 1536 V 9 R 720(E)S 722(ER)S 780(RR)S 842(RO)S 904(OR)S 972(RS)S 1034(S)S 1656 V 10 B 1080(Stat)S 10 R 1279(and)S 10 B 1449(lstat)S 10 R (will)157 1659 A 1841(fail)S 2001(if)S 2088(one)S 2258(or)S 2367(more)S 2599(of)S 2708(the)S 2856(following)S 3272(are)S 3421(true:)S 1824 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 1992 V ([ENAMETOOLONG])916 1080 A 2112 V 1830(The)S 2012(path)S 2210(name)S (exceeds)319 2453 A 2797(PATH_MAX)S 3371(characters.)S 2280 V 1080([ENOENT])S 1830(The)S 2012(named)S 2305(\256le)S 2459(does)S 2668(not)S 2821(exist.)S 2448 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 2616 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 2736 V 1830(vmd\))S 2904 V 1080([EFAULT])S 10 I 1830(Buf)S 10 R 1995(or)S 10 I 2104(name)S 10 R 2347(points)S 2617(to)S 2720(an)S 2840(invalid)S 3144(address.)S 3072 V 1080([EIO])S 1830(An)S 1978(I/O)S 2138(error)S 2360(occurred)S 2738(while)S 2987(reading)S 3314(from)S 3535(or)S (writing)291 3644 A 3960(to)S 4063(the)S 4211(\256le)S 4365(system.)S 3240 V 10 B 1080(Fstat)S 10 R (will)157 1324 A 1506(fail)S 1666(if)S 1753(one)S 1923(or)S 2032(both)S 2235(of)S 2344(the)S 2492(following)S 2908(are)S 3057(true:)S 3408 V 1080([EBADF])S 10 I 1830(Fildes)S 10 R 2107(is)S 2199(not)S 2352(a)S 2422(valid)S 2648(open)S 2868(\256le)S 3022(descriptor.)S 3576 V 1080([EFAULT])S 10 I 1830(Buf)S 10 R 1995(points)S 2265(to)S 2368(an)S 2488(invalid)S 2792(address.)S 3744 V 1080([EIO])S 1830(An)S 1978(I/O)S 2138(error)S 2360(occurred)S 2738(while)S 2987(reading)S 3314(from)S 3535(or)S (writing)291 3644 A 3960(to)S 4063(the)S 4211(\256le)S 4365(system.)S 3912 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 4032 V 10 B 1080(chmod)S 10 R 1371(\(2\),)S 10 B 1539(chown)S 10 R 1819(\(2\),)S 10 B 1987(utime)S 10 R 2234(\(2\).)S 7903 V 720(September)S 1176(13,)S (1996)200 1326 A 2669(\()S 2711(May)S 2920(12,)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