%!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Fri Sep 13 13:06: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(RESOLVER)S 1250(\()S 1292(3)S 1350(\))S 2696(Eighth)S (Edition)296 2989 A 4597(RESOLVER)S 5127(\()S 5169(3)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(resolver,)S (res_query,)422 1461 A 1914(res_search,)S (res_mkquery,)550 2396 A 2977(res_send,)S 3386(res_init,)S (dn_comp,)398 3745 A (dn_expand)440 4175 A 10 R-1 4647(-)S 10 R 4736(resolver)S 5093(rou-)S 1200 V 1080(tines)S 1368 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 1488 V 10 B 1080(#include)S 1482()S 1608 V 1080(#include)S 1482()S 1728 V 1080(#include)S 1482()S 1848 V 1080(#include)S 1482()S 2016 V 1080(res_query\(dname,)S 1899(class,)S 2163(type,)S 2411(answer,)S 2782(anslen\))S 2136 V 1080(char)S 1314(*dname;)S 2256 V 1080(int)S 1236(class,)S 1500(type;)S 2376 V 1080(u_char)S 1420(*answer;)S 2496 V 1080(int)S 1236(anslen;)S 2664 V 1080(res_search\(dname,)S 1927(class,)S 2191(type,)S 2439(answer,)S 2810(anslen\))S 2784 V 1080(char)S 1314(*dname;)S 2904 V 1080(int)S 1236(class,)S 1500(type;)S 3024 V 1080(u_char)S 1420(*answer;)S 3144 V 1080(int)S 1236(anslen;)S 3312 V (res_mkquery\(op,)736 1080 A 1854(dname,)S 2208(class,)S 2472(type,)S 2720(data,)S 2973(datalen,)S 3355(newrr,)S 3682(buf,)S (bu\257en\))303 3891 A 3432 V 1080(int)S 1236(op;)S 3552 V 1080(char)S 1314(*dname;)S 3672 V 1080(int)S 1236(class,)S 1500(type;)S 3792 V 1080(char)S 1314(*data;)S 3912 V 1080(int)S 1236(datalen;)S 4032 V 1080(struct)S (rrec)180 1371 A 1589(*newrr;)S 4152 V 1080(char)S 1314(*buf;)S 4272 V 1080(int)S (bu\257en;)303 1236 A 4440 V 1080(res_send\(msg,)S 1725(msglen,)S 2090(answer,)S 2461(anslen\))S 4560 V 1080(char)S 1314(*msg;)S 4680 V 1080(int)S 1236(msglen;)S 4800 V 1080(char)S 1314(*answer;)S 4920 V 1080(int)S 1236(anslen;)S 5088 V (res_init\(\))393 1080 A 5256 V 1080(dn_comp\(exp_dn,)S 1887(comp_dn,)S 2347(length,)S (dnptrs,)311 2679 A (lastdnptr\))432 3028 A 5376 V 1080(char)S 1314(*exp_dn,)S 1740(*comp_dn;)S 5496 V 1080(int)S 1236(length;)S 5616 V 1080(char)S (**dnptrs,)411 1314 A (**lastdnptr;)532 1763 A 5784 V 1080(dn_expand\(msg,)S 1825(eomorig,)S 2240(comp_dn,)S 2700(exp_dn,)S 3076(length\))S 5904 V 1080(char)S 1314(*msg,)S 1600(*eomorig,)S 2065(*comp_dn,)S 2575(exp_dn;)S 6024 V 1080(int)S 1236(length;)S 6192 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 6312 V 10 R 1080(These)S 1355(routines)S 1713(are)S 1871(used)S 2089(for)S 2241(making,)S 2601(sending)S 2947(and)S 3127(interpreting)S 3632(query)S 3896(and)S 4076(reply)S 4318(messages)S 4733(with)S 4947(Internet)S 6432 V 1080(domain)S 1406(name)S 1649(servers.)S 6600 V 1080(Global)S 1385(con\256guration)S 1952(and)S 2128(state)S 2344(information)S 2850(that)S 3032(is)S 3130(used)S 3345(by)S 3476(the)S 3630(resolver)S 3986(routines)S 4341(is)S 4439(kept)S 4643(in)S 4753(the)S 4908(structure)S 6720 V 10 I 1080(_res)S 10 R 1261(.)S 1343(Most)S 1581(of)S 1697(the)S 1851(values)S 2139(have)S 2360(reasonable)S 2822(defaults)S 3172(and)S 3348(can)S 3519(be)S (ignored.)332 3645 A 4033(Options)S 4382(stored)S 4659(in)S 10 I 4768(_res.options)S 6840 V 10 R 1080(are)S 1235(de\256ned)S 1562(in)S 10 I 1671(resolv.h)S 10 R 2023(and)S 2199(are)S 2354(as)S 2469(follows.)S 2852(Options)S 3201(are)S 3357(stored)S 3635(as)S 3751(a)S 3828(simple)S 4128(bit)S 4266(mask)S 4510(containing)S 4966(the)S 5121(bit-)S 6960 V 1080(wise)S (``or'')220 1290 A 1535(of)S 1644(the)S 1792(options)S 2112(enabled.)S 7128 V 1080(RES_INIT)S 7248 V 1440(True)S 1665(if)S 1761(the)S (initial)235 1918 A 2187(name)S 2439(server)S 2720(address)S 3056(and)S 3236(default)S 3551(domain)S 3887(name)S 4140(are)S (initialized)403 4299 A 4737(\(i.e.,)S 10 I 4954(res_init)S 7368 V 10 R 1440(has)S 1599(been)S 1814(called\).)S 7903 V 720(Page)S 941(1)S 2669(\()S 2711(June)S 2920(23,)S (1990)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(RESOLVER)S 1250(\()S 1292(3)S 1350(\))S 2696(Eighth)S (Edition)296 2989 A 4597(RESOLVER)S 5127(\()S 5169(3)S 5227(\))S 960 V 1080(RES_DEBUG)S 1080 V 1440(Print)S (debugging)423 1661 A 2109(messages.)S 1248 V (RES_AAONLY)662 1080 A 1368 V (Accept)286 1440 A 1752(authoritative)S 2287(answers)S 2638(only.)S 2892(With)S 3119(this)S 3291(option,)S 10 I 3599(res_send)S 10 R (should)267 3983 A 4277(continue)S (until)184 4650 A 4861(it)S 4944(\256nds)S 5166(an)S 1488 V 1440(authoritative)S 1974(answer)S 2285(or)S 2394(\256nds)S 2614(an)S 2734(error.)S 3006(Currently)S 3417(this)S 3587(is)S 3679(not)S 3832(implemented.)S 1656 V 1080(RES_USEVC)S 1776 V 1440(Use)S 1622(TCP)S (connections)480 1832 A 2337(for)S 2480(queries)S 2796(instead)S 3106(of)S 3215(UDP)S 3442(datagrams.)S 1944 V (RES_STAYOPEN)763 1080 A 2064 V 1440(Used)S 1684(with)S 1900(RES_USEVC)S 2503(to)S 2618(keep)S 2845(the)S 3005(TCP)S (connection)441 3228 A 3707(open)S 3940(between)S 4314(queries.)S 4693(This)S 4910(is)S 5015(useful)S 2184 V 1440(only)S 1643(in)S 1746(programs)S 2151(that)S 2327(regularly)S 2716(do)S 2841(many)S 3089(queries.)S 3455(UDP)S (should)267 3682 A 3974(be)S 4094(the)S 4242(normal)S 4552(mode)S 4800(used.)S 2352 V 1080(RES_IGNTC)S 2472 V 1440(Unused)S 1772(currently)S (\(ignore)291 2161 A 2477(truncation)S 2910(errors,)S 3196(i.e.,)S (don't)212 3369 A 3606(retry)S 3822(with)S 4026(TCP\).)S 2640 V 1080(RES_RECURSE)S 2760 V 1440(Set)S 1605(the)S 1764(recursion-desired)S 2500(bit)S 2642(in)S 2756(queries.)S 3133(This)S 3348(is)S 3452(the)S 3612(default.)S 3979(\()S 10 I 4013(res_send)S 10 R 4407(does)S 4628(not)S 4793(do)S 4930(iterative)S 2880 V 1440(queries)S 1756(and)S 1926(expects)S 2253(the)S 2401(name)S 2644(server)S 2916(to)S 3019(handle)S 3312(recursion.\))S 3048 V 1080(RES_DEFNAMES)S 3168 V 1440(If)S 1535(set,)S 10 I 1699(res_search)S 10 R (will)157 2167 A 2351(append)S 2668(the)S 2818(default)S 3125(domain)S 3453(name)S 3698(to)S (single-component)720 3803 A 4551(names)S 4836(\(those)S 5110(that)S 3288 V 1440(do)S 1565(not)S 1718(contain)S 2039(a)S 2109(dot\).)S 2346(This)S 2550(option)S 2831(is)S 2923(enabled)S 3261(by)S 3386(default.)S 3456 V 1080(RES_DNSRCH)S 3576 V 1440(If)S 1536(this)S 1709(option)S 1993(is)S 2088(set,)S 10 I 2253(res_search)S 10 R (will)157 2722 A 2908(search)S 3195(for)S 3342(host)S 3538(names)S 3824(in)S 3931(the)S 4083(current)S 4398(domain)S 4728(and)S 4902(in)S 5009(parent)S 3696 V 1440(domains;)S 1868(see)S 10 I 2057(hostname)S 10 R 2450(\(7\).)S 2678(This)S 2917(is)S 3044(used)S 3288(by)S 3448(the)S 3630(standard)S 4030(host)S (lookup)278 4256 A 4593(routine)S 10 I 4937(gethost-)S 3816 V 1440(byname)S 10 R 1761(\(3\).)S 1954(This)S 2158(option)S 2439(is)S 2531(enabled)S 2869(by)S 2994(default.)S 3984 V 1080(The)S 10 I 1279(res_init)S 10 R 1628(routine)S 1955(reads)S 2210(the)S 2375(con\256guration)S 2953(\256le)S 3124(\(if)S 3263(any;)S 3479(see)S 10 I 3651(resolver)S 10 R 3989(\(5\)\))S 4184(to)S 4305(get)S 4471(the)S 4637(default)S 4960(domain)S 4104 V 1080(name,)S 1358(search)S 1651(list)S 1809(and)S 1989(the)S 2147(Internet)S 2496(address)S 2833(of)S 2952(the)S 3110(local)S 3341(name)S 3593(server\(s\).)S 4031(If)S 4133(no)S 4267(server)S 4548(is)S 4649(con\256gured,)S 5138(the)S 4224 V 1080(host)S (running)312 1274 A 1613(the)S 1763(resolver)S 2115(is)S 2209(tried.)S 2472(The)S 2657(current)S 2971(domain)S 3300(name)S 3546(is)S 3641(de\256ned)S 3965(by)S 4093(the)S 4244(hostname)S 4657(if)S 4747(not)S 4903(speci\256ed)S 4344 V 1080(in)S 1189(the)S 1343(con\256guration)S 1910(\256le;)S 2098(it)S 2185(can)S 2356(be)S 2482(overridden)S 2949(by)S 3080(the)S 3233(environment)S 3771(variable)S 4126(LOCALDOMAIN.)S (Initiali-)303 4958 A 4464 V 1080(zation)S 1351(normally)S 1739(occurs)S 2027(on)S 2152(the)S 2300(\256rst)S 2482(call)S 2653(to)S 2756(one)S 2926(of)S 3035(the)S 3183(following)S 3599(routines.)S 4632 V 1080(The)S 10 I (res_query)402 1275 A 10 R 1715(function)S 2088(provides)S 2472(an)S (interface)354 2605 A 2997(to)S 3113(the)S 3274(server)S 3560(query)S 3828(mechanism.)S 4375(It)S 4476(constructs)S 4923(a)S 5007(query,)S 4752 V 1080(sends)S 1335(it)S 1423(to)S 1533(the)S 1688(local)S 1916(server,)S 2220(awaits)S 2510(a)S (response,)377 2587 A 2996(and)S 3173(makes)S 3462(preliminary)S 3964(checks)S 4270(on)S 4402(the)S 4556(reply.)S 4844(The)S 5032(query)S 4872 V 1080(requests)S 1456(information)S 1977(of)S 2107(the)S 2276(speci\256ed)S 10 I 2680(type)S 10 R 2894(and)S 10 I 3085(class)S 10 R 3332(for)S 3497(the)S 3667(speci\256ed)S 4072(fully-quali\256ed)S 4695(domain)S 5043(name)S 4992 V 10 I (dname)268 1080 A 1373(.)S 10 R 1423(The)S 1605(reply)S 1837(message)S 2203(is)S 2295(left)S 2455(in)S 2558(the)S 10 I 2706(answer)S 10 R 3021(buffer)S 3293(with)S 3497(length)S 10 I 3773(anslen)S 10 R (supplied)340 4060 A 4425(by)S 4550(the)S 4698(caller.)S 5160 V 1080(The)S 10 I 1268(res_search)S 10 R 1740(routine)S 2056(makes)S 2344(a)S 2420(query)S 2680(and)S 2856(awaits)S 3145(a)S (response)352 3221 A 3604(like)S 10 I (res_query)402 3787 A 10 R 4197(,)S 4254(but)S 4414(in)S (addition,)354 4524 A 4910(it)S 4998(imple-)S 5280 V 1080(ments)S 1346(the)S 1495(default)S 1801(and)S 1972(search)S 2256(rules)S 2478(controlled)S 2912(by)S 3038(the)S 3186(RES_DEFNAMES)S 3990(and)S 4160(RES_DNSRCH)S 4829(options.)S 5199(It)S 5400 V 1080(returns)S 1385(the)S 1533(\256rst)S (successful)414 1715 A 2154(reply.)S 5568 V 1080(The)S 1274(remaining)S 1719(routines)S 2080(are)S 2241(lower-level)S 2738(routines)S 3099(used)S 3320(by)S 10 I (res_query)402 3458 A 10 R 3868(.)S 3956(The)S 10 I 4151(res_mkquery)S 10 R 4709(function)S 5082(con-)S 5688 V 1080(structs)S 1370(a)S 1442(standard)S 1810(query)S 2066(message)S 2434(and)S (places)252 2606 A 2885(it)S 2968(in)S 10 I 3073(buf)S 10 R 3209(.)S 3286(It)S 3375(returns)S 3681(the)S 3830(size)S 4013(of)S 4123(the)S 4272(query,)S 4552(or)S 10 R-1 4662(-)S 10 R 4719(1)S 4795(if)S 4883(the)S 5032(query)S 5808 V 1080(is)S 1176(larger)S 1441(than)S 10 I (bu\257en)245 1643 A 10 R 1896(.)S 1975(The)S 2161(query)S 2419(type)S 10 I 2621(op)S 10 R 2750(is)S 2846(usually)S 3166(QUERY,)S 3569(but)S 3727(can)S 3897(be)S 4022(any)S 4197(of)S 4311(the)S 4464(query)S 4723(types)S 4965(de\256ned)S 5928 V 1080(in)S 10 I 1188()S 10 R 1965(.)S 2045(The)S 2232(domain)S 2563(name)S 2811(for)S 2959(the)S 3112(query)S 3370(is)S 3466(given)S 3718(by)S 10 I (dname)268 3847 A 10 R 4123(.)S 10 I 4202(Newrr)S 10 R 4488(is)S 4584(currently)S (unused)284 4977 A 6048 V 1080(but)S 1233(is)S 1325(intended)S 1696(for)S 1839(making)S (update)268 2165 A 2458(messages.)S 6216 V 1080(The)S 10 I 1286(res_send)S 10 R 1692(routine)S 2026(sends)S 2298(a)S 2392(pre-formatted)S 2996(query)S 3274(and)S 3468(returns)S 3797(an)S 3941(answer.)S 4327(It)S (will)157 4439 A 4646(call)S 10 I 4842(res_init)S 10 R 5199(if)S 6336 V 1080(RES_INIT)S 1555(is)S 1659(not)S 1824(set,)S 1998(send)S 2219(the)S 2379(query)S 2645(to)S 2760(the)S 2920(local)S 3153(name)S 3408(server,)S 3717(and)S 3898(handle)S 4202(timeouts)S 4584(and)S 4765(retries.)S 5104(The)S 6456 V 1080(length)S 1356(of)S 1465(the)S 1613(reply)S 1845(message)S 2211(is)S 2303(returned,)S 2689(or)S 10 R-1 2798(-)S 10 R 2855(1)S 2930(if)S 3017(there)S 3244(were)S 3466(errors.)S 6624 V 1080(The)S 10 I (dn_comp)368 1266 A 10 R 1663(function)S 2027(compresses)S 2520(the)S 2672(domain)S 3002(name)S 10 I (exp_dn)290 3249 A 10 R 3568(and)S 3742(stores)S 4006(it)S 4091(in)S 10 I (comp_dn)368 4198 A 10 R 4574(.)S 4653(The)S 4839(size)S 5025(of)S 5138(the)S 6744 V 1080(compressed)S 1582(name)S 1827(is)S 1921(returned)S 2284(or)S 10 R-1 2395(-)S 10 R 2452(1)S 2529(if)S 2618(there)S 2847(were)S 3071(errors.)S 3384(The)S 3567(size)S 3750(of)S 3860(the)S 4009(array)S 4243(pointed)S 4570(to)S 4674(by)S 10 I (comp_dn)368 4800 A 10 R 5194(is)S 6864 V 1080(given)S 1331(by)S 10 I 1459(length)S 10 R 1718(.)S 1796(The)S 1981(compression)S 2517(uses)S 2718(an)S 2841(array)S 3077(of)S 3190(pointers)S 10 I (dnptrs)256 3543 A 10 R 3828(to)S 3935(previously-compressed)S 4897(names)S 5183(in)S 6984 V 1080(the)S 1234(current)S 1551(message.)S 1973(The)S 2161(\256rst)S 2349(pointer)S 2665(points)S 2941(to)S 3050(to)S 3159(the)S 3313(beginning)S 3745(of)S 3860(the)S 4014(message)S 4386(and)S 4562(the)S 4715(list)S 4868(ends)S 5082(with)S 7104 V 1080(NULL.)S 1430(The)S 1617(limit)S 1837(to)S 1945(the)S 2098(array)S 2336(is)S 2434(speci\256ed)S 2823(by)S 10 I (lastdnptr)362 2954 A 10 R 3324(.)S 3405(A)S 3509(side)S 3702(effect)S 3964(of)S 10 I (dn_comp)368 4079 A 10 R 4478(is)S 4576(to)S (update)268 4685 A 4984(the)S 5138(list)S 7224 V 1080(of)S 1197(pointers)S 1554(for)S 1705(labels)S 1973(inserted)S 2325(into)S 2514(the)S 2670(message)S 3044(as)S 3161(the)S 3317(name)S 3568(is)S 3668(compressed.)S 4226(If)S 10 I (dnptr)217 4327 A 10 R 4577(is)S 4677(NULL,)S 5004(names)S 7344 V 1080(are)S 1229(not)S 1382(compressed.)S 1932(If)S 10 I (lastdnptr)362 2025 A 10 R 2412(is)S 2504(NULL,)S 2824(the)S 2972(list)S 3120(of)S 3229(labels)S 3489(is)S 3581(not)S (updated.)343 3734 A 7903 V 720(September)S 1176(13,)S (1996)200 1326 A 2669(\()S 2711(June)S 2920(23,)S (1990)200 3070 A 3278(\))S 4990(Page)S 5211(2)S 8143 V EP %%Page: 3 3 BP /slant 0 def /height 0 def 480 V 10 R 720(RESOLVER)S 1250(\()S 1292(3)S 1350(\))S 2696(Eighth)S (Edition)296 2989 A 4597(RESOLVER)S 5127(\()S 5169(3)S 5227(\))S 960 V 1080(The)S 10 I (dn_expand)440 1281 A 10 R 1765(entry)S 2016(expands)S 2389(the)S 2556(compressed)S 3075(domain)S 3421(name)S 10 I (comp_dn)368 3684 A 10 R 4097(to)S 4220(a)S 4310(full)S 4495(domain)S 4841(name)S 5104(The)S 1080 V 1080(compressed)S 1592(name)S 1847(is)S 1950(contained)S 2377(in)S 2491(a)S 2572(query)S 2837(or)S 2957(reply)S 3200(message;)S 10 I 3605(msg)S 10 R 3803(is)S 3906(a)S 3987(pointer)S 4308(to)S 4422(the)S 4581(beginning)S 5018(of)S 5138(the)S 1200 V 1080(message.)S 1500(The)S 1686(uncompressed)S 2290(name)S 2537(is)S (placed)263 2633 A 2925(in)S 3032(the)S 3184(buffer)S 3460(indicated)S 3858(by)S 10 I (exp_dn)290 3987 A 10 R 4306(which)S 4581(is)S 4677(of)S 4790(size)S 10 I 4977(length)S 10 R 5236(.)S 1320 V 1080(The)S 1262(size)S 1444(of)S 1553(compressed)S 2053(name)S 2296(is)S 2388(returned)S 2749(or)S 10 R-1 2858(-)S 10 R 2915(1)S 2990(if)S 3077(there)S 3304(was)S 3486(an)S 3606(error.)S 1488 V 9 R 720(F)S 722(FI)S 774(IL)S 807(LE)S 865(ES)S 923(S)S 1608 V 10 R 1080(/etc/resolv.conf)S 1800(see)S 1954(resolver\(5\))S 1776 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 1896 V 10 R (gethostbyname\(3\),)751 1080 A 1856(named\(8\),)S 2292(resolver\(5\),)S 2785(hostname\(7\),)S 2016 V (RFC1032,)415 1080 A (RFC1033,)415 1520 A (RFC1034,)415 1960 A (RFC1035,)415 2400 A (RFC974,)365 2840 A 2136 V 1080(SMM:11)S 1467(Name)S 1733(Server)S 2022(Operations)S 2489(Guide)S 2760(for)S 2903(BIND)S 7903 V 720(Page)S 941(3)S 2669(\()S 2711(June)S 2920(23,)S (1990)200 3070 A 3278(\))S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Trailer %%DocumentFonts: Times-Roman Times-Bold Times-Italic %%Pages: 3