⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rarpd.8

📁 操作系统设计与实现源码
💻 8
字号:
%!PS-Adobe-1.0%%Creator: devps (Pipeline Associates, Inc.)%%CreationDate: Fri Sep 13 14:23:58 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 defsystemdict /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 addcurrentpoint pop Xm}bind def/H{//res div0 transform X round X itransform popcurrentpoint X popmoveto}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 fillgr}bind def1 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} ifend/BP{save mark devps begin m0/DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecapcurrentlinejoin currentdash currentgray currentmiterlimit ] cvx def}bind def/EP{end cleartomark restore showpage}def/Encoding-1 256 array def0 1 255 {Encoding-1 exch /.notdef put} forEncoding-1 8#301 StandardEncoding 8#101 26 getinterval putinterval %A-BEncoding-1 8#341 StandardEncoding 8#141 26 getinterval putinterval %a-bEncoding-1 8#241 StandardEncoding 8#301 16 getinterval putinterval %accentsEncoding-1 8#373 StandardEncoding 8#365 1 getinterval putinterval %dotlessiEncoding-1dup 8#41 /copyright putdup 8#42 /registered putdup 8#43 /trademark putdup 8#44 /logicalnot putdup 8#45 /Eth putdup 8#46 /eth putdup 8#47 /Thorn putdup 8#50 /thorn putdup 8#51 /brokenbar putdup 8#52 /degree putdup 8#53 /divide putdup 8#54 /multiply putdup 8#55 /minus putdup 8#56 /onehalf putdup 8#57 /onequarter putdup 8#60 /threequarters putdup 8#101 /Aacute putdup 8#102 /Acircumflex putdup 8#103 /Adieresis putdup 8#104 /Agrave putdup 8#105 /Aring putdup 8#106 /Atilde putdup 8#107 /Ccedilla putdup 8#110 /Eacute putdup 8#111 /Ecircumflex putdup 8#112 /Edieresis putdup 8#113 /Egrave putdup 8#114 /Iacute putdup 8#115 /Icircumflex putdup 8#116 /Idieresis putdup 8#117 /Igrave putdup 8#120 /Ntilde putdup 8#121 /Oacute putdup 8#122 /Ocircumflex putdup 8#123 /Odieresis putdup 8#124 /Ograve putdup 8#125 /Otilde putdup 8#126 /Scaron putdup 8#127 /Uacute putdup 8#130 /Ucircumflex putdup 8#131 /Udieresis putdup 8#132 /Ugrave putdup 8#133 /Ydieresis putdup 8#134 /Zcaron putdup 8#135 /aacute putdup 8#136 /acircumflex putdup 8#137 /adieresis putdup 8#140 /agrave putdup 8#141 /aring putdup 8#142 /atilde putdup 8#143 /ccedilla putdup 8#144 /eacute putdup 8#145 /ecircumflex putdup 8#146 /edieresis putdup 8#147 /egrave putdup 8#150 /iacute putdup 8#151 /icircumflex putdup 8#152 /idieresis putdup 8#153 /igrave putdup 8#154 /ntilde putdup 8#155 /oacute putdup 8#156 /ocircumflex putdup 8#157 /odieresis putdup 8#160 /ograve putdup 8#161 /otilde putdup 8#162 /scaron putdup 8#163 /uacute putdup 8#164 /ucircumflex putdup 8#165 /udieresis putdup 8#166 /ugrave putdup 8#167 /ydieresis putdup 8#170 /zcaron putpop/Enc-dict 30 dict defEnc-dict /tmpstr1 50 string putEnc-dict /tmpstr2 50 string putEnc-dict /tmpstr3 50 string dup (Encoding-) exch cvs pop put/AEnc-def { % arguments: the original font's name, encoding nrEnc-dict begintmpstr2 cvs /Enc-no exch def % Remember the number in a stringdup /OrigName exch def % remember the namefindfont 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} forallnewdict begin/Encoding  tmpstr3 9 Enc-no putinterval tmpstr3 0 9 Enc-no length add getinterval  cvn load  def % Replace encodingcurrentdict /UniqueID known{ /UniqueID UniqueID Enc-no cvi 49999 mul add def } if % Derive New UniqueIDend % newdict/FNlength OrigName tmpstr1 cvs length def % convert name, remember lengthFNlength 1 add Enc-no length add stringdup 0 OrigName tmpstr1 cvs putintervaldup FNlength (-) putintervaldup FNlength 1 add Enc-no putintervaldup 0 tmpstr1 0 FNlength getinterval putinterval % Add old namecvn dup newdict /FontName 3 2 roll put newdict definefontend % Enc-dict} def/Times-Roman 1 AEnc-def pop/R-1{/Times-Roman-1 FF}def/Times-Bold 1 AEnc-def pop/B-1{/Times-Bold-1 FF}def/R{/Times-Roman FF}def/B{/Times-Bold FF}def%%EndProlog%%Page: 1 1BP/slant 0 def/height 0 def480 V10 R720(RARPD)S1064(\()S1106(8)S1164(\))S2696(Eighth)S(Edition)296 2989 A4783(RARPD)S5127(\()S5169(8)S5227(\))S960 V9 R720(N)S722(NA)S790(AM)S858(ME)S940(E)S1080 V10 R1080(rarpd)S10 R-11318(-)S10 R1400(reverse)S1717(address)S2044(resolution)S2471(protocol)S2831(daemon)S1248 V9 R720(S)S722(SY)S774(YN)S842(NO)S910(OP)S978(PS)S1030(SI)S1082(IS)S1115(S)S1368 V10 B1080(rarpd)S10 R1370([)S10 B-11404(-)S10 B1461(d)S10 R1517(])S1536 V9 R720(D)S722(DE)S790(ES)S848(SC)S900(CR)S962(RI)S1024(IP)S1057(PT)S1109(TI)S1167(IO)S1200(ON)S1268(N)S1656 V10 B1080(Rarpd)S10 R1388(listens)S1673(on)S1801(the)S1952(ethernet)S2305(for)S2451(broadcast)S2865(packets)S3196(asking)S3487(for)S3634(reverse)S3955(address)S4286(resolution.)S4767(These)S5037(pack-)S1776 V1080(ets)S1227(are)S1386(sent)S1583(by)S1718(hosts)S1959(at)S(boot)178 2067 A2280(time)S2494(to)S2607(\256nd)S2798(out)S2961(their)S3181(IP)S3306(address.)S10 B3693(Rarpd)S10 R(looks)217 4008 A4260(up)S4395(the)S4553(six)S4705(octet)S4936(ethernet)S1896 V1080(number)S1414(in)S1519(the)S10 B1669(/etc/ethers)S10 R2140(\256le)S2296(\256nding)S2607(a)S2679(host)S2873(name.)S3168(This)S3374(name)S3619(is)S3713(translated)S4132(to)S4237(the)S4387(IP)S4504(address)S4833(of)S4944(the)S5094(host)S2016 V1080(by)S1205(a)S1275(DNS)S(lookup.)303 1502 A1855(The)S2037(IP)S2152(address)S2479(is)S2571(then)S2769(sent)S2956(to)S3059(the)S3207(host.)S2184 V1080(Before)S10 B1389(rarpd)S10 R1676(can)S1851(start)S2060(its)S2190(service)S2511(it)S2602(\256rst)S2794(\256nds)S3024(out)S3187(what)S3418(the)S3576(IP)S3701(addresses)S4122(of)S4241(the)S4399(ethernets)S4798(are.)S5007(It)S(will)157 5104 A2304 V(look)178 1080 A(through)312 1284 A10 B1622(/etc/ethers)S10 R2092(to)S2196(map)S2395(the)S2543(ethernet)S2893(addresses)S3304(to)S3407(host)S3599(names.)S3931(It)S4018(then)S4216(uses)S10 B4414(/etc/hosts)S10 R4837(to)S4940(map)S5138(the)S2424 V1080(host)S1272(names)S1554(to)S1657(IP)S1772(addresses.)S2233(If)S2326(this)S(lookup)278 2496 A2800(fails)S3000(then)S3199(several)S3511(RARP)S3800(requests)S4156(are)S4306(broadcasted)S4813(in)S4917(the)S(hope)195 5066 A2544 V1080(that)S1263(some)S1507(RARP)S1802(server)S(knows)262 2081 A2375(the)S2530(addresses.)S2998(The)S3187(IP)S3309(addresses)S3727(are)S3883(eventually)S4334(set)S4477(in)S4586(the)S4740(same)S4978(way)S5177(as)S2664 V10 B1080(ifcon\256g)S10 R1399(\(8\).)S1597(\(The)S1818(address)S2150(is)S2247(not)S2406(changed)S2772(if)S2865(already)S3193(set)S3336(with)S10 B3546(ifcon\256g)S10 R3865(.\))S3980(Note)S4207(that)S4389(the)S4543(host)S4741(names)S5029(in)S5138(the)S2784 V1080(ethers)S1357(and)S1538(hosts)S1780(\256les)S1983(must)S2213(match)S2494(exactly.)S2870(The)S3062(DNS)S3299(can)S3474(not)S3637(be)S3767(used)S3986(yet,)S4169(so)S4293(a)S4373(simple)S4676(name)S4929(can't)S5166(be)S2904 V1080(translated)S1497(to)S1600(a)S1670(fully)S1885(quali\256ed)S2262(name.)S3072 V10 B1080(Rarpd)S10 R1385(exits)S1600(after)S1811(startup)S2110(if)S2197(there)S2424(are)S2573(no)S2698(active)S2964(ethernets,)S3378(or)S3487(if)S3574(there)S3801(is)S3893(no)S4018(ethers)S4284(\256le.)S3240 V10 B1080(Warning!)S10 R1524(Sun)S1705(diskless)S2048(workstations)S2587(assume)S2908(that)S3084(the)S3232(\256rst)S3414(RARP)S3702(server)S3975(that)S4152(answers)S4503(is)S4596(the)S4745(host)S4938(they)S5137(are)S3360 V1080(to)S(boot)178 1190 A1400(from.)S1678(For)S1850(this)S2027(to)S2137(work)S2376(all)S2509(other)S2748(Sun)S2936(RARP)S3231(servers)S3549(delay)S3799(their)S4016(answer)S4334(if)S4427(they)S4631(are)S4786(not)S4945(also)S5138(the)S3480 V1080(requestors)S(boot)178 1526 A1736(server.)S2065(The)S2254(Minix)S10 B2531(rarpd)S10 R2815(does)S3031(not)S3191(have)S3413(this)S(kludge)273 3590 A3896(so)S4018(it)S(will)157 4107 A4297(happily)S4631(engage)S4949(the)S5105(Sun)S3600 V(boot)178 1080 A1295(server)S1579(to)S1694(see)S1860(who)S2070(can)S2246(answer)S2568(the)S2727(client)S2987(\256rst.)S3230(Unless)S(your)184 3540 A3760(Minix)S4041(host)S4244(can)S4420(actually)S4775(serve)S5024(a)S5105(Sun)S3720 V1080(diskless)S1423(client,)S1697(it)S1778(is)S1870(better)S2125(not)S2278(to)S2381(list)S2529(any)S2699(more)S2931(hosts)S3162(in)S3265(the)S3413(ethers)S3679(\256le)S3833(than)S(necessary.)417 4031 A3888 V9 R720(O)S722(OP)S790(PT)S842(TI)S900(IO)S933(ON)S1001(NS)S1069(S)S4008 V10 B-11080(-)S10 B1137(d)S10 R1440(Turns)S1703(on)S(debugging)423 1831 A2282(messages.)S(Debugging)446 2740 A3214(can)S3382(also)S3572(be)S3695(turned)S3980(on)S4108(at)S4209(runtime)S4551(by)S4680(sending)S5021(signal)S4128 V10 B1440(SIGUSR1)S10 R1890(or)S1999(turned)S2281(off)S2424(with)S10 B2628(SIGUSR2)S10 R3053(.)S4296 V9 R720(S)S722(SE)S774(EE)S832(E)S913(A)S915(AL)S983(LS)S1041(SO)S1093(O)S4416 V10 B1080(ifcon\256g)S10 R1399(\(8\),)S10 B1567(ethers)S10 R1831(\(5\),)S10 B1999(hosts)S10 R2217(\(5\),)S10 B2385(set_net_default)S10 R3041(\(8\),)S10 B3209(boot)S10 R3399(\(8\),)S10 B3567(inetd)S10 R3786(\(8\),)S10 B(irdpd)241 3954 A10 R4195(\(8\),)S10 B4363(nonamed)S10 R4760(\(8\).)S4584 V9 R720(A)S722(AU)S790(UT)S858(TH)S916(HO)S984(OR)S1052(R)S4704 V10 R1080(Kees)S1307(J.)S1396(Bot)S1566(\(kjb@cs.vu.nl\))S7903 V720(Page)S941(1)S4455(September)S4911(13,)S(1996)200 5061 A8143 VEP%%Trailer%%DocumentFonts: Times-Roman Times-Bold%%Pages: 1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -