%!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Fri Sep 13 13:08:01 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 /C{/Courier FF}def /C{/Courier FF}def %%EndProlog %%Page: 1 1 BP /slant 0 def /height 0 def 480 V 10 R 720(IP)S 818(\()S 860(4)S 918(\))S 2696(Eighth)S (Edition)296 2989 A 5029(IP)S 5127(\()S 5169(4)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(ip,)S 1208(eth,)S 1381(psip,)S (udp,)175 1598 A 1798(tcp)S 10 R-1 1946(-)S 10 R 2028(Internet)S 2367(Protocol)S 2733(server)S 3005(devices)S 3332(and)S (de\256nitions)424 3502 A 1248 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 1368 V 10 R 1080(The)S 10 B 1279(ip*)S 10 R 1413(,)S 10 B 1480(eth*)S 10 R 1665(,)S 10 B 1732(psip*)S 10 R 1961(,)S 10 B 2028(tcp*)S 10 R 2213(,)S 2280(and)S 10 B (udp*)218 2467 A 10 R 2727(devices)S 3071(give)S (access)258 3286 A 3586(to)S 3707(the)S 3873(Internet)S 4230(Protocol)S 4614(\(IP\))S 4815(services)S 5183(in)S 1488 V 1080(Minix.)S 1414(There)S 1689(are)S 1852(16)S 1991(such)S 2213(devices)S 2553(for)S 2709(four)S 2915(different)S 3301(networks,)S 3733(and)S 3916(four)S 4122(different)S 4508(ways)S 4753(of)S (accessing)386 4875 A 1608 V 1080(them.)S 1363(The)S 10 B 1552(eth*)S 10 R 1769(and)S 10 B 1946(psip*)S 10 R 2207(devices)S 2542(give)S 2748(direct)S (access)258 3011 A 3302(to)S 3413(the)S 3569(network)S 3932(packets)S 4267(at)S 4373(the)S 4529(lowest)S 4825(level.)S 5104(The)S 1728 V 10 B 1080(ip*)S 10 R 1214(,)S 10 B 1275(tcp*)S 10 R 1460(,)S 1521(and)S 10 B (udp*)218 1702 A 10 R 1956(devices)S 2294(give)S (access)258 2503 A 2797(to)S 2911(IP,)S 3062(TCP,)S 3307(or)S 3426(UDP)S 3663(services.)S 4073(See)S 10 B 4254(set_net_default)S 10 R 4910(\(8\))S 5063(for)S 5216(a)S 1848 V 1080(description)S 1560(of)S 1677(the)S 1833(default)S 2146(network)S 2509(devices)S 2844(and)S 3022(environment)S 3563(variables.)S 4011(The)S 4202(proper)S 4499(TCP)S 4718(device)S 5015(to)S 5127(use)S 1968 V 1080(for)S 1223(instance)S 1578(is)S (found)234 1670 A 1929(by:)S 2136 V 1440(if)S (\(\(tcp_device=)561 1527 A 2113(getenv\("TCP_DEVICE"\)\))S 3196(==)S 3335(NULL\))S 2256 V (tcp_device=)493 1800 A 2318("/dev/tcp";)S 2424 V (Access)286 1080 A 1395(to)S 1502(the)S 1654(IP)S 1773(services)S 2127(is)S 2223(provided)S 2610(using)S 2857(\256ledescriptors)S 3458(to)S 3566(open)S 3791(IP)S 3911(devices.)S 4293(These)S 4564(open)S 4789(IP)S 4909(channels)S 2544 V 1080(can)S 1245(be)S 1365(con\256gured)S 1820(with)S 10 B 2024(ioctl)S 10 R 2209(\(2\))S 2352(calls,)S 2587(and)S 2757(data)S 2950(can)S 3115(be)S 3235(transferred)S 3698(by)S 3823(calls)S 4033(to)S 10 B 4136(read)S 10 R 4332(\(2\),)S 4500(and)S 10 B 4670(write)S 10 R 4895(\(2\).)S 2712 V 870(T)S 872(Ty)S 936(yp)S 988(pe)S 1040(es)S 1087(s)S 1153(\()S 1155(\(g)S 1191(ge)S 1243(en)S 1290(ne)S 1342(er)S 1389(ra)S 1425(al)S 1472(l\))S 1502(\))S 2832 V 1080()S 2952 V 1440(de\256nes)S 10 B 1762(u8_t)S 10 R 1952(,)S 10 B (u16_t)240 2014 A 10 R 2254(,)S 10 B (u32_t)240 2316 A 10 R 2593(and)S 10 B (i32_t)212 2775 A 10 R 3025(\(and)S 10 B 3242(U8_t)S 10 R 3449(,)S 10 B (U16_t)257 3512 A 10 R 3769(,)S 10 B (U32_t)257 3832 A 10 R 4127(and)S 10 B (I32_t)223 4310 A 10 R 4571(for)S 4727(use)S 4899(in)S 5015(proto-)S 3072 V 1440(types\).)S 3240 V 870(T)S 872(Ty)S 936(yp)S 988(pe)S 1040(es)S 1087(s)S 1153(\()S 1155(\(e)S 1191(et)S 1238(th)S 1268(h\))S 1320(\))S 3360 V 1080()S 3480 V 1440(de\256nes)S 1756(struct)S 2011(ether_addr)S 2473(\()S 10 B 2507(ether_addr_t)S 10 R 3073(\))S 3139(and)S 10 B 3316(ether_type_t)S 10 R 3892(and)S 10 B 4069(Ether_type_t)S 10 R 4667(for)S 4817(use)S 4983(in)S 5093(pro-)S 3600 V 1440(totypes.)S 3768 V 1080()S 3888 V 1440(de\256nes)S 1750(struct)S (nwio_ethopt)502 1999 A 2526(\()S 10 B 2560(nwio_ethopt_t)S 10 R 3176(\))S 3235(and)S 3405(struct)S 3654(nwio_ethstat)S 4193(\()S 10 B 4227(nwio_ethstat_t)S 10 R 4860(\))S 4056 V ()820 1080 A 4176 V 1440(de\256nes)S 1750(struct)S (eth_hdr)307 1999 A 2331(\()S 10 B 2365(eth_hdr_t)S 10 R 2791(\))S 4344 V 870(T)S 872(Ty)S 936(yp)S 988(pe)S 1040(es)S 1087(s)S 1153(\()S 1155(\(i)S 1191(ip)S 1221(p\))S 1273(\))S 4464 V 1080()S 4584 V 1440(de\256nes)S 10 B 1750(ipaddr_t)S 10 R 2125(,)S 10 B 2175(ipproto_t)S 10 R 2603(and)S 2773(struct)S (ip_hdropt)390 3022 A 3437(\()S 10 B 3471(ip_hdropt_t)S 10 R 3986(\).)S 4752 V 1080()S 4872 V 1440(de\256nes)S 1750(struct)S 1999(nwio_ipconf)S 2532(\()S 10 B 2566(nwio_ipconf_t)S 10 R 3176(\))S 3235(and)S 3405(struct)S (nwio_ipopt)457 3654 A 4136(\()S 10 B 4170(nwio_ipopt_t)S 10 R 4735(\))S 5040 V ()775 1080 A 5160 V 1440(de\256nes)S 1750(struct)S (ip_hdr)262 1999 A 2286(\()S 10 B 2320(ip_hdr_t)S 10 R 2695(\))S 5328 V 1080()S 5448 V 1440(de\256nes)S 1750(struct)S 1999(nwio_route)S 2482(\()S 10 B 2516(nwio_route_t)S 10 R 3087(\))S 5616 V 870(T)S 872(Ty)S 936(yp)S 988(pe)S 1040(es)S 1087(s)S 1153(\()S 1155(\(t)S 1191(tc)S 1221(cp)S 1268(p\))S 1320(\))S 5736 V 1080()S 5856 V 1440(de\256nes)S 10 B 1750(tcpport_t)S 10 R 2179(and)S 10 B 2349(Tcpport_t)S 10 R 2811(for)S 2954(use)S 3113(in)S 3216(prototypes.)S 6024 V 1080()S 6144 V 1440(de\256nes)S 1791(struct)S 2082(nwio_tcpconf)S 2702(\()S 10 B 2736(nwio_tcpconf_t)S 10 R 3397(\),)S 3523(struct)S 3814(nwio_tcpcl)S 4328(\()S 10 B 4362(nwio_tcpcl_t)S 10 R 4911(\),)S 5037(struct)S 6264 V 1440(nwio_tcpatt)S 1940(\()S 10 B 1974(nwio_tcpatt_t)S 10 R 2568(\))S 2627(and)S 2797(struct)S (nwio_tcpopt)502 3046 A 3573(\()S 10 B 3607(nwio_tcpopt_t)S 10 R 4223(\).)S 6432 V ()820 1080 A 6552 V 1440(de\256nes)S 1750(struct)S (tcp_hdr)307 1999 A 2331(\()S 10 B 2365(tcp_hdr_t)S 10 R 2791(\))S 2850(and)S 3020(struct)S (tcp_hdropt)435 3269 A 3729(\()S 10 B 3763(tcp_hdropt_t)S 10 R 4329(\).)S 6720 V 870(T)S 872(Ty)S 936(yp)S 988(pe)S 1040(es)S 1087(s)S 1153(\()S 1155(\(u)S 1191(ud)S 1243(dp)S 1295(p\))S 1347(\))S 6840 V ()663 1080 A 6960 V 1440(de\256nes)S 10 B (udpport_t)437 1750 A 10 R 2212(and)S 10 B (Udpport_t)454 2382 A 10 R 2861(for)S 3004(use)S 3163(in)S 3266(prototypes.)S 7128 V ()791 1080 A 7248 V 1440(de\256nes)S 1750(struct)S (nwio_udpopt)529 1999 A 2553(\()S 10 B (nwio_udpopt_t)649 2587 A 10 R 3236(\).)S 7903 V 720(Page)S 941(1)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(IP)S 818(\()S 860(4)S 918(\))S 2696(Eighth)S (Edition)296 2989 A 5029(IP)S 5127(\()S 5169(4)S 5227(\))S 960 V ()847 1080 A 1080 V 1440(de\256nes)S 1750(struct)S (udp_hdr)334 1999 A 2358(\()S 10 B (udp_hdr_t)459 2392 A 10 R 2851(\))S 2910(and)S 3080(struct)S (udp_io_hdr)462 3329 A 3816(\()S 10 B (udp_io_hdr_t)587 3850 A 10 R 4437(\).)S 1248 V 870(B)S 872(By)S 941(yt)S 993(te)S 1023(e)S 1095(O)S 1097(Or)S 1172(rd)S 1208(de)S 1260(er)S 1307(r)S 1368(C)S 1370(Co)S 1439(on)S 1491(nv)S 1543(ve)S 1595(er)S 1642(rs)S 1678(si)S 1719(io)S 1749(on)S 1801(n)S 1368 V 1080(All)S 1239(16-bit)S 1509(and)S 1684(32-bit)S (quantities)391 1954 A 2375(in)S 2483(IP)S 2603(headers)S 2941(must)S 3166(be)S 3291(in)S 3399(network)S 3759(byte)S 3962(order.)S 4256(The)S 4444(macros)S 4766(described)S 5183(in)S 1488 V 10 B 1080(hton)S 10 R 1276(\(3\))S 1419(can)S 1584(be)S 1704(used)S 1913(to)S (convert)302 2016 A 2343(these)S 2575(values)S 2857(to)S 2960(and)S 3130(from)S 3351(the)S 3499(byte)S 3697(order)S 3935(used)S 4144(by)S 4269(the)S 4417(host)S 4609(machine.)S 1656 V 870(T)S 872(Th)S 936(he)S 988(e)S 1060(I)S 1062(In)S 1098(nt)S 1150(te)S 1180(er)S 1227(rn)S 1263(ne)S 1315(et)S 1362(t)S 1417(C)S 1419(Ch)S 1488(he)S 1540(ec)S 1587(ck)S 1634(ks)S 1686(su)S 1727(um)S 1779(m)S 1776 V 1080(The)S 10 B 1279(OneC_sum)S 10 R 1802(function)S 2179(\(see)S 10 B 2384(oneC_sum)S 10 R 2837(\(3\)\))S 3032(is)S 3142(used)S 3369(to)S 3490(calculate)S 3892(the)S 4058(one's)S 4319(complement)S 4859(checksum)S 1896 V 1080(needed)S 1390(for)S 1533(IP)S 1648(network)S 2003(packets.)S 2064 V 870(G)S 872(Ge)S 947(en)S 994(ne)S 1046(er)S 1093(ra)S 1129(al)S 1176(l)S 1231(F)S 1233(Fu)S 1291(un)S 1343(nc)S 1395(ct)S 1442(ti)S 1472(io)S 1502(on)S 1554(ns)S 1606(s)S 2184 V 10 I 1080(fd)S 10 B 1183(=)S 1265(open\()S 10 I (tcpip_device)509 1506 A 10 B 2015(,)S 2065(O_RDWR\))S 2352 V 10 R 1080(This)S 1290(is)S 1389(how)S 1594(one)S 1771(normally)S 2166(obtains)S 2488(a)S 2565(\256ledescriptor)S 3129(for)S 3279(a)S 3356(new)S 3556(TCP/IP)S 3891(channel.)S 10 I (tcpip_device)509 4286 A 10 R 4827(names)S 5116(one)S 2472 V 1080(of)S 1189(the)S 1337(TCP/IP)S 1665(devices.)S 2042(The)S 2224(channel)S 2562(may)S 2760(be)S 2880(used)S 3089(both)S 3292(to)S 3395(send)S 3604(or)S 3713(to)S (receive)292 3816 A 4133(data.)S 2640 V 10 I 1080(n)S 10 B 1155(=)S 1237(read\()S 10 I 1467(fd)S 10 B 1545(,)S 10 I 1595(buf)S 10 B 1723(,)S 10 I 1773(size)S 10 B 1924(\))S 2808 V 10 R (Receives)364 1080 A 1469(one)S 1639(packet)S 1927(\(low)S 2137(level)S 2359(devices\))S 2721(or)S 2831(a)S 2902(number)S 3235(of)S 3345(bytes)S 3583(\(TCP)S 3828(stream\).)S 4207(Returns)S 4546(the)S 4695(the)S 4844(number)S 5177(of)S 2928 V 1080(bytes)S (placed)263 1317 A 1605(into)S 10 I 1786(buf)S 10 R 1922(,)S 1972(or)S 2081(returns)S 2386(-1)S 2495(with)S 2699(an)S 2819(error)S 3041(code)S (placed)263 3256 A 3544(into)S 10 B (errno)241 3725 A 10 R 3966(.)S 3096 V 10 I 1080(n)S 10 B 1155(=)S 1237(write\()S 10 I 1496(fd)S 10 B 1574(,)S 10 I 1624(buf)S 10 B 1752(,)S 10 I 1802(size)S 10 B 1953(\))S 3264 V 10 R 1080(Sends)S 1352(one)S 1529(packet)S 1824(\(low)S 2041(level)S 2269(devices\))S 2637(or)S 2753(a)S 2830(number)S 3169(of)S 3285(bytes)S 3529(\(TCP)S 3780(stream\).)S 4165(Returns)S 10 I 4510(size)S 10 R 4693(or)S 4809(-1)S 4926(with)S 5138(the)S 3384 V 1080(error)S 1311(code)S (placed)263 1535 A 1832(into)S 10 B (errno)241 2022 A 10 R 2263(.)S 2347(The)S 2538(TCP/IP)S 10 B 2875(read)S 10 R 3105(and)S 10 B 3284(write)S 10 R 3543(functions)S 3951(behave)S 4270(like)S 4455(reads)S 4702(and)S 4881(writes)S 5161(on)S 3504 V 1080(pipes)S 1317(when)S 1560(it)S 1641(comes)S 1923(to)S 2026(signals.)S 3672 V 870(E)S 872(ET)S 936(TH)S 1000(H)S 1100(F)S 1102(Fu)S 1160(un)S 1212(nc)S 1264(ct)S 1311(ti)S 1341(io)S 1371(on)S 1423(ns)S 1475(s)S 3792 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOGETHSTAT,)S 2320(&struct)S 2682(nwio_ethstat\))S 3960 V 10 R 1080(The)S 10 B 1263(NWIOGETHSTAT)S 10 R 2132(ioctl)S 2337(returns)S 2643(the)S 2792(Ethernet)S 3160(address)S 3488(and)S 3660(some)S 3899(statistics)S 4273(of)S 4384(the)S 4534(Ethernet)S 4903(server)S 5177(of)S 4080 V 1080(the)S 1229(channel)S 10 I 1568(fd)S 10 R 1654(.)S 1730(The)S 1913(result)S 2163(is)S 2256(returned)S 2618(in)S 2722(the)S 2871(nwio_ethstat)S 3411(structure.)S 3839(The)S 10 B 4021(struct)S 4299(nwio_ethstat)S 10 R 4873(is)S 4965(de\256ned)S 4200 V 1080(in)S 1183(:)S 4368 V 10 C (typedef)427 1440 A (struct)366 1928 A (nwio_ethstat)732 2355 A 4488 V 1440({)S 4608 V (ether_addr_t)732 1928 A (nwes_addr;)610 2721 A 4728 V (eth_stat_t)610 1928 A (nwes_stat;)610 2599 A 4848 V 1440(})S (nwio_ethstat_t;)915 1562 A 5016 V (typedef)427 1440 A (struct)366 1928 A (eth_stat)488 2355 A 5136 V 1440({)S 5256 V (unsigned)488 1684 A (long)244 2233 A (ets_recvErr,)732 2538 A 3392(/*)S 3575(#)S (receive)427 3697 A (errors)366 4185 A 4612(*/)S 5376 V (ets_sendErr,)732 1800 A 3264(/*)S 3447(#)S (send)244 3569 A (error)305 3874 A 4240(*/)S 5496 V (ets_OVW,)488 1800 A 3264(/*)S 3447(#)S (buffer)366 3569 A (overwrite)549 3996 A (warnings,)549 4606 A 5616 V (\(packets)488 3575 A (arrive)366 4124 A (faster)366 4551 A (than)244 4978 A 5736 V (can)183 3636 A 3880(be)S (processed\))610 4063 A 4734(*/)S 5856 V (ets_CRCerr,)671 1800 A 3264(/*)S 3447(#)S (crc)183 3569 A (errors)366 3813 A 4240(of)S (read)244 4423 A 4728(*/)S 5976 V (ets_frameAll,)793 1800 A 3264(/*)S 3447(#)S (frames)366 3569 A (not)183 3996 A (aligned)427 4240 A 4728(\(#)S (bits)244 4911 A 6096 V (not)183 3575 A 3819(a)S (multiple)488 3941 A 4490(of)S 4673(8\))S 4856(*/)S 6216 V (ets_missedP,)732 1800 A 3264(/*)S 3447(#)S (packets)427 3569 A (missed)366 4057 A (due)183 4484 A 4728(to)S (too)183 4911 A 6336 V (slow)244 3575 A (packet)366 3880 A (processing)610 4307 A 4978(*/)S 6456 V (ets_packetR,)732 1800 A 3264(/*)S 3447(#)S (packets)427 3569 A (received)488 4057 A 4606(*/)S 6576 V (ets_packetT,)732 1800 A 3264(/*)S 3447(#)S (packets)427 3569 A (transmitted)671 4057 A 4789(*/)S 6696 V (ets_transDef,)793 1800 A 3264(/*)S 3447(#)S (transmission)732 3569 A (deferred)488 4362 A (\(there)366 4911 A 6816 V (was)183 3575 A 3819(a)S (transmission)732 3941 A 4734(of)S 4917(an)S 6936 V (other)305 3575 A (station)427 3941 A 4429(in)S (progress)488 4612 A 5161(*/)S 7056 V (ets_collision,)854 1800 A 3264(/*)S 3447(#)S (collisions)610 3569 A 4240(*/)S 7176 V (ets_transAb,)732 1800 A 3264(/*)S 3447(#)S (transmissions)793 3569 A (aborted)427 4423 A (due)183 4911 A 7296 V 3575(to)S (excessive)549 3758 A (collisions)610 4368 A 5039(*/)S 7416 V (ets_carrSense,)854 1800 A 3264(/*)S 3447(#)S (carrier)427 3569 A (sense)305 4057 A (lost)244 4423 A 4728(*/)S 7536 V (ets_\256foUnder,)793 1800 A 3203(/*)S 3386(#)S (\256fo)183 3508 A (underruns)549 3752 A (\(processor)610 4362 A 7903 V 10 R 720(September)S 1176(13,)S (1996)200 1326 A 4990(Page)S 5211(2)S 8143 V EP %%Page: 3 3 BP /slant 0 def /height 0 def 480 V 10 R 720(IP)S 818(\()S 860(4)S 918(\))S 2696(Eighth)S (Edition)296 2989 A 5029(IP)S 5127(\()S 5169(4)S 5227(\))S 960 V 10 C 3575(is)S (too)183 3758 A (busy\))305 4002 A 4368(*/)S 1080 V (ets_\256foOver,)732 1800 A 3203(/*)S 3386(#)S (\256fo)183 3508 A (overruns)488 3752 A (\(processor)610 4301 A 4972(is)S 1200 V (too)183 3575 A (busy\))305 3819 A 4185(*/)S 1320 V (ets_CDheartbeat,)976 1800 A 3264(/*)S 3447(#)S (times)305 3569 A (unable)366 3935 A 4362(to)S (transmit)488 4545 A 1440 V (collision)549 3575 A (signal)366 4185 A 4612(*/)S 1560 V (ets_OWC;)488 1800 A 3264(/*)S 3447(#)S (times)305 3569 A (out)183 3935 A 4179(of)S (window)366 4362 A 1680 V (collision)549 3575 A 4185(*/)S 1800 V 1440(})S (eth_stat_t;)671 1562 A 1968 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOSETHOPT,)S 2242(&struct)S 2604(nwio_ethopt\))S 2136 V 10 R 1080(Before)S 1392(an)S 1524(Ethernet)S 1903(channel)S 2253(can)S 2430(be)S 2562(used)S 2783(to)S 2898(send)S 3119(or)S (receive)292 3241 A 3571(Ethernet)S 3951(packets,)S 4316(it)S 4410(has)S 4582(to)S 4698(be)S 4831(con\256gured)S 2256 V 1080(using)S 1322(the)S 10 B 1470(NWIOSETHOPT)S 10 R 2260(ioctl.)S 2514(The)S 2696(structure)S 10 B 3074(nwio_ethopt)S 10 R 3631(is)S 3723(de\256ned)S 4044(in)S 4147(:)S 2424 V 10 C (typedef)427 1440 A (struct)366 1928 A (nwio_ethopt)671 2355 A 2544 V 1440({)S 2664 V (u32_t)305 1800 A (nweo_\257ags;)610 2166 A 2784 V (ether_addr_t)732 1800 A (nweo_multi,)671 2593 A (nweo_rem;)549 3325 A 2904 V (ether_type_t)732 1800 A (nweo_type;)610 2593 A 3024 V 1440(})S (nwio_ethopt_t;)854 1562 A 3192 V (#de\256ne)366 1440 A (NWEO_NOFLAGS)732 1867 A (0x0000L)427 2843 A 3312 V (#de\256ne)366 1440 A (NWEO_ACC_MASK)793 1867 A (0x0003L)427 2843 A 3432 V 1440(#)S (de\256ne)305 1928 A (NWEO_EXCL)549 2294 A (0x00000001L)671 3331 A 3552 V 1440(#)S (de\256ne)305 1928 A (NWEO_SHARED)671 2294 A (0x00000002L)671 3331 A 3672 V 1440(#)S (de\256ne)305 1928 A (NWEO_COPY)549 2294 A (0x00000003L)671 3331 A 3792 V (#de\256ne)366 1440 A (NWEO_LOC_MASK)793 1867 A (0x0010L)427 2843 A 3912 V 1440(#)S (de\256ne)305 1928 A (NWEO_EN_LOC)671 2294 A (0x00000010L)671 3331 A 4032 V 1440(#)S (de\256ne)305 1928 A (NWEO_DI_LOC)671 2294 A (0x00100000L)671 3331 A 4152 V (#de\256ne)366 1440 A (NWEO_BROAD_MASK)915 1867 A (0x0020L)427 2843 A 4272 V 1440(#)S (de\256ne)305 1928 A (NWEO_EN_BROAD)793 2294 A (0x00000020L)671 3331 A 4392 V 1440(#)S (de\256ne)305 1928 A (NWEO_DI_BROAD)793 2294 A (0x00200000L)671 3331 A 4512 V (#de\256ne)366 1440 A (NWEO_MULTI_MASK)915 1867 A (0x0040L)427 2843 A 4632 V 1440(#)S (de\256ne)305 1928 A (NWEO_EN_MULTI)793 2294 A (0x00000040L)671 3331 A 4752 V 1440(#)S (de\256ne)305 1928 A (NWEO_DI_MULTI)793 2294 A (0x00400000L)671 3331 A 4872 V (#de\256ne)366 1440 A (NWEO_PROMISC_MASK)1037 1867 A (0x0080L)427 2965 A 4992 V 1440(#)S (de\256ne)305 1928 A (NWEO_EN_PROMISC)915 2294 A (0x00000080L)671 3331 A 5112 V 1440(#)S (de\256ne)305 1928 A (NWEO_DI_PROMISC)915 2294 A (0x00800000L)671 3331 A 5232 V (#de\256ne)366 1440 A (NWEO_REM_MASK)793 1867 A (0x0100L)427 2843 A 5352 V 1440(#)S (de\256ne)305 1928 A (NWEO_REMSPEC)732 2294 A (0x00000100L)671 3331 A 5472 V 1440(#)S (de\256ne)305 1928 A (NWEO_REMANY)671 2294 A (0x01000000L)671 3331 A 5592 V (#de\256ne)366 1440 A (NWEO_TYPE_MASK)854 1867 A (0x0200L)427 2843 A 5712 V 1440(#)S (de\256ne)305 1928 A (NWEO_TYPESPEC)793 2294 A (0x00000200L)671 3331 A 5832 V 1440(#)S (de\256ne)305 1928 A (NWEO_TYPEANY)732 2294 A (0x02000000L)671 3331 A 5952 V (#de\256ne)366 1440 A (NWEO_RW_MASK)732 1867 A (0x1000L)427 2843 A 6072 V 1440(#)S (de\256ne)305 1928 A (NWEO_RWDATONLY)854 2294 A (0x00001000L)671 3331 A 6192 V 1440(#)S (de\256ne)305 1928 A (NWEO_RWDATALL)793 2294 A (0x10000000L)671 3331 A 6360 V 10 R 1080(The)S 1268(con\256guration)S 1835(is)S 1933(divided)S 2265(in)S 2374(a)S 2450(number)S 2788(of)S 2903(section)S 3219(\(covered)S 3604(by)S 3736(the)S (xx_MASK)441 3891 A 4364(macros\).)S 4771(Options)S 5121(can)S 6480 V 1080(be)S 1208(set)S 1353(in)S 1464(the)S 10 B 1619(nweo_\257ags)S 10 R 2120(\256eld.)S 2381(The)S 2570(\256rst)S 2759(section)S 3076(\()S 10 B (NWEO_ACC_MASK)939 3110 A 10 R 4049(\))S 4115(controls)S 4471(the)S (access)258 4626 A 4916(to)S 5026(a)S 5103(cer-)S 6600 V 1080(tain)S 1262(Ethernet)S 1635(packet)S 1929(type.)S 2183(If)S 10 B 2282(NWEO_EXCL)S 10 R 2961(is)S 3059(selected)S 3415(then)S 3620(this)S 3797(is)S 3896(the)S 4051(only)S 4261(channel)S 4606(that)S 4789(can)S 4961(send)S 5177(or)S 6720 V (receive)292 1080 A 1402(Ethernet)S 1774(packets)S 2106(of)S 2220(the)S 2373(selected)S 2727(type.)S 2979(If)S 10 B 3076(NWEO_SHARED)S 10 R 3893(is)S 3989(selected)S 4343(then)S (multiple)335 4545 A 4909(channels)S 6840 V 1080(\(which)S 1387(all)S 1515(have)S 1732(to)S 1837(select)S 10 B 2094(NWEO_SHARED)S 10 R 2882(\))S 2943(can)S 3110(use)S 3271(the)S 3421(same)S 3655(Ethernet)S 4024(type,)S 4249(they)S 4450(all)S 4579(can)S 4747(send)S 4959(packets)S 6960 V 1080(but)S 1234(incoming)S 1639(packets)S (will)157 1967 A 2150(be)S 2271(delivered)S 2672(to)S 2776(at)S 2875(most)S 3096(one)S 3267(of)S 3377(them.)S 3654(If)S 10 B 3748(NWEO_COPY)S 10 R 4428(is)S 4521(selected)S 4872(then)S 5071(mul-)S 7080 V 1080(tiple)S 1284(channels)S 1661(have)S (access)258 1876 A 2159(to)S 2262(the)S 2410(same)S 2642(Ethernet)S 3009(type)S 3207(and)S 3377(all)S (receive)292 3503 A 3820(a)S (copy)195 3890 A 4110(of)S 4219(an)S 4339(incoming)S 4743(packet.)S 7248 V 1080(The)S 10 B 1264(NWEO_LOC_MASK)S 10 R 2229(\257ags)S 2446(control)S 2758(the)S 2908(delivery)S 3265(of)S 3377(packets)S 3707(with)S 3914(a)S 3987(destination)S 4456(address)S 4786(equal)S 5032(to)S 5138(the)S 7368 V 1080(Ethernet)S 1451(address)S 1782(of)S 1894(the)S 2045(machine.)S 2464(If)S 10 B 2560(NWEO_EN_LOC)S 10 R 3364(is)S 3459(selected)S 3812(then)S 4013(these)S 4248(packets)S (will)157 4578 A 4763(be)S 4886(delivered)S 7488 V 1080(and)S 1250(with)S 10 B 1454(NWEO_DI_LOC)S 10 R 2227(they)S (will)157 2425 A 2607(be)S 2727(discarded.)S 7903 V 720(Page)S 941(3)S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Page: 4 4 BP /slant 0 def /height 0 def 480 V 10 R 720(IP)S 818(\()S 860(4)S 918(\))S 2696(Eighth)S (Edition)296 2989 A 5029(IP)S 5127(\()S 5169(4)S 5227(\))S 960 V 10 B 1080(NWEO_BROAD_MASK)S 10 R 2164(,)S 10 B 2224(NWEO_MULTI_MASK)S 10 R 3285(,)S 3346(and)S 10 B 3527(NWEO_PROMISC_MASK)S 10 R 4759(do)S 4895(the)S 5054(same)S 1080 V 1080(to)S 1188(broadcast)S 1604(packets,)S (multicast)369 1961 A 2360(packets)S 2692(and)S (promiscuous)513 2867 A 3410(mode)S 3663(packets)S 3995(as)S 10 B 4109(NWEO_LOC_MASK)S 10 R 5077(does)S 1200 V 1080(for)S 1223(local)S 1444(packets.)S 1821(Except)S 2126(that)S 2302(the)S 2450(precise)S (multicast)369 2761 A 3155(address)S 3482(is)S 3574(taken)S 3817(from)S 4038(the)S 10 B 4186(nweo_multi)S 10 R 4715(\256eld.)S 1368 V 1080(The)S 10 B 1269(NWEO_REM_MASK)S 10 R 2256(\257ags)S 2478(control)S 2795(whether)S 3152(communication)S 3810(is)S 3910(restricted)S 4319(to)S 4430(single)S 4703(destination)S 5177(or)S 1488 V 1080(not.)S 10 B 1300(NWEO_REMSPEC)S 10 R 2203(restricts)S 2565(sending)S 2919(and)S (receiving)375 3106 A 3523(of)S 3649(packets)S 3993(to)S 4113(the)S 4278(single)S 4560(remote)S 4881(computer)S 1608 V 1080(speci\256ed)S 1463(in)S 1566(the)S 10 B 1714(nweo_rem)S 10 R 2187(\256eld.)S 10 B (NWEO_REMANY)822 2441 A 10 R 3288(allows)S 3576(sending)S 3913(to)S 4016(and)S (receiving)375 4187 A 4588(from)S 4810(any)S 4981(remote)S 1728 V 1080(computer.)S 1896 V 10 B 1080(NWEO_TYPESPEC)S 10 R 2012(restricts)S 2369(sending)S 2719(and)S (receiving)375 2902 A 3315(of)S 3437(packets)S 3777(to)S 3893(the)S 4054(type)S 4265(speci\256ed)S 4661(in)S 10 B 4777(nweo_type)S 10 R 5236(.)S 2016 V 1080(The)S 1262(type)S 1460(has)S 1619(to)S 1722(be)S 1842(in)S 1945(network)S 2300(byte)S 2498(order)S 2736(\(using)S 10 B 3012(hton)S 10 R 3208(\(3\)\).)S 10 B (NWEO_TYPEANY)856 3435 A 10 R 4316(allows)S 4604(any)S 4774(type.)S 2184 V 1080(If)S 1200(the)S 1375(Ethernet)S 1769(header)S 2090(is)S 2209(completely)S 2708(speci\256ed)S 3118(by)S 3270(the)S 10 B 3446(nweo_\257ags)S 10 R 3968(i.e.,)S 4169(all)S 4323(of)S 10 B 4460(NWEO_EN_LOC)S 10 R 5236(,)S 2304 V 10 B 1080(NWEO_DI_BROAD)S 10 R 1974(,)S 10 B 2082(NWEO_DI_MULTI)S 10 R 2953(,)S 10 B 3060(NWEO_DI_PROMISC)S 10 R 4066(,)S 10 B 4173(NWEO_REMSPEC)S 10 R 5116(and)S 2424 V 10 B 1080(NWEO_TYPESPEC)S 10 R 2015(are)S 2179(speci\256ed,)S 2602(then)S 10 B 2815(NWEO_RWDATONLY)S 10 R 3900(can)S 4080(be)S 4215(used)S 4439(to)S 4558(send)S 4783(and)S (receive)292 4969 A 2544 V 1080(only)S 1299(the)S 1463(data)S 1672(part)S 1870(of)S 1995(an)S 2131(Ethernet)S 2514(packet.)S 2868(If)S 10 B 2977(NWEO_RWDATALL)S 10 R 3979(is)S 4087(speci\256ed)S 4486(then)S 4700(both)S 4919(Ethernet)S 2664 V 1080(header)S 1374(and)S 1544(data)S 1737(are)S 1886(used.)S 2832 V 870(P)S 872(PS)S 930(SI)S 988(IP)S 1024(P)S 1107(F)S 1109(Fu)S 1167(un)S 1219(nc)S 1271(ct)S 1318(ti)S 1348(io)S 1378(on)S 1430(ns)S 1482(s)S 2952 V ([[[No)225 1080 A 1330(description)S 1802(available)S (yet.]]])250 2191 A 3120 V 870(I)S 872(IP)S 908(P)S 991(F)S 993(Fu)S 1051(un)S 1103(nc)S 1155(ct)S 1202(ti)S 1232(io)S 1262(on)S 1314(ns)S 1366(s)S 3240 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOGIPCONF,)S 2232(&struct)S 2594(nwio_ipconf\))S 3408 V 10 R 1080(The)S 10 B 1267(NWIOGIPCONF)S 10 R 2052(ioctl)S 2262(reports)S 2573(the)S 2727(Internet)S 3072(Address)S 3433(and)S 3609(the)S 3763(netmask.)S 4179(For)S 4350(the)S 10 I 4504(nwio_ipconf)S 10 R 5031(struc-)S 3528 V 1080(ture)S 1262(see)S 1416(the)S 10 B 1564(NWIOSIPCONF)S 10 R 2322(ioctl)S 2526(below.)S 3696 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOGIPOROUTE,)S 2382(&struct)S 2744(nwio_route\))S 3864 V 10 R 1080(The)S 10 B 1264(NWIOGIPOROUTE)S 10 R 2196(ioctl)S 2402(can)S 2569(be)S 2691(used)S 2902(to)S 3007(query)S 3263(an)S 3385(IP)S 3502(server)S (about)223 3777 A 4028(its)S 4151(routing)S 4469(table.)S ([[[NWIODI-)518 4743 A 3984 V 1080(POROUTE,)S 1626(NWIOGIPIROUTE,)S (NWIODIPIROUTE?]]])956 2515 A 3551(The)S 3763(structure)S 10 B 4171(nwio_route)S 10 R 4712(is)S 4833(de\256ned)S 5183(in)S 4104 V 1080(:)S 4272 V 10 C (typedef)427 1440 A (struct)366 1928 A (nwio_route)610 2355 A 4392 V 1440({)S 4512 V (u32_t)305 1928 A (nwr_ent_no;)671 2294 A 4632 V (u32_t)305 1928 A (nwr_ent_count;)854 2294 A 4752 V (ipaddr_t)488 1928 A (nwr_dest;)549 2477 A 4872 V (ipaddr_t)488 1928 A (nwr_netmask;)732 2477 A 4992 V (ipaddr_t)488 1928 A (nwr_gateway;)732 2477 A 5112 V (u32_t)305 1928 A (nwr_dist;)549 2294 A 5232 V (u32_t)305 1928 A (nwr_\257ags;)549 2294 A 5352 V (u32_t)305 1928 A (nwr_pref;)549 2294 A 5472 V 1440(})S (nwio_route_t;)793 1562 A 5640 V (#de\256ne)366 1440 A (NWRF_EMPTY)610 1867 A 2843(0)S 5760 V (#de\256ne)366 1440 A (NWRF_INUSE)610 1867 A 2843(1)S 5880 V (#de\256ne)366 1440 A (NWRF_FIXED)610 1867 A 2843(2)S 6048 V 10 R 1080(The)S 1264(requested)S 1677(entry)S 1911(is)S 2005(taken)S 2250(from)S 10 B 2473(nwr_ent_no)S 10 R 2988(.)S 3065(Entries)S 3378(are)S (counted)318 3529 A 3874(from)S 4097(0,)S 4199(so)S 4315(the)S 4465(value)S 4710(0)S 4787(can)S 4954(be)S 5077(used)S 6168 V 1080(for)S 1230(an)S (initial)235 1357 A 1624(query.)S 1935(The)S 2123(size)S 2311(of)S 2426(the)S 2580(routing)S 2901(table)S 3128(is)S 3226(returned)S 3593(in)S 10 B 3702(nwr_ent_count)S 10 R 4352(.)S 4433(The)S 10 B 4621(nwr_\257ags)S 10 R 5071(indi-)S 6288 V 1080(cates)S 1314(if)S 1408(the)S 1563(entry)S 1802(is)S 1901(in)S 2011(use)S 2177(\()S 10 B 2211(NWRF_INUSE)S 10 R 2877(\))S 2943(and)S 3120(if)S 3214(the)S 3369(entry)S 3609(was)S 3799(inserted)S 4151(manually)S 4558(\(using)S 10 B 4842(NWIOSI-)S 6408 V 1080(POROUTE)S 10 R 1578(\))S 1642(or)S 1756(generated)S 2177(by)S 2306(the)S 2458(IP)S 2577(server)S 2853(itself.)S 3134(The)S 3320(route)S 3556(is)S 3652(described)S 4067(by)S 10 B 4196(nwr_dest)S 10 R 4594(,)S 10 B 4648(nwr_netmask)S 10 R 5236(,)S 6528 V 10 B (nwr_gateway)576 1080 A 10 R 1656(,)S 10 B 1751(nwr_dist)S 10 R 2132(,)S 2227(and)S 10 B 2442(nwr_pref)S 10 R 2846(.)S 10 B 2966(Nwr_dest)S 10 R 3451(and)S 10 B 3666(nwr_netmask)S 10 R 4325(select)S 4626(the)S 4820(destination)S 6648 V 1080(addresses.)S 1543(A)S 1642(value)S 1886(of)S 1996(0.0.0.0)S (\(0x0\))218 2297 A 2541(in)S 2645(both)S 10 B 2849(nwr_dest)S 10 R 3273(and)S 10 B 3444(nwr_netmask)S 10 R 4058(means)S 4341(every)S 4591(host.)S 4834(A)S 4933(value)S 5177(of)S 6768 V (255.255.255.255)675 1080 A (\(0xffffffff\))440 1784 A 2253(in)S 10 B 2361(nwr_netmask)S 10 R 2979(means)S 3266(a)S 3341(single)S 3611(host.)S 3858(Other)S 4118(values)S 4405(of)S 10 B 4519(nwr_netmask)S 10 R 5137(are)S 6888 V 1080(netmasks)S 1502(for)S 1667(the)S 1837(network)S 2214(speci\256ed)S 2619(by)S 10 B 2766(nwr_dest)S 10 R 3164(.)S 10 B (Nwr_gateway)593 3261 A 10 R 3901(is)S 4015(gateway)S 4398(that)S (should)267 4596 A 4910(be)S 5052(used.)S 7008 V 10 B 1080(Nwr_dist)S 10 R 1509(is)S 1607(a)S 1683(minimal)S 2049(distance.)S 2460(Packets)S 2799(with)S 3010(a)S 3087(time)S 3298(to)S 3408(live)S 3591(smaller)S 3920(than)S 10 B 4125(nwr_dist)S 10 R (will)157 4538 A 4727(not)S (reach)219 4887 A 5138(the)S 7128 V 1080(destination.)S 1601(If)S 1699(two)S 1880(routes)S 2156(have)S 2376(equal)S 2623(netmask)S 2987(and)S 3161(distance)S 3520(\256elds)S 3767(but)S 3924(different)S 4301(gateways)S 4705(then)S 4907(the)S 5059(gate-)S 7248 V 1080(way)S 1273(with)S 1477(highest)S 1792(value)S 2035(in)S 10 B 2138(nwr_pref)S 10 R 2567(is)S 2659(used.)S 7903 V 720(September)S 1176(13,)S (1996)200 1326 A 4990(Page)S 5211(4)S 8143 V EP %%Page: 5 5 BP /slant 0 def /height 0 def 480 V 10 R 720(IP)S 818(\()S 860(4)S 918(\))S 2696(Eighth)S (Edition)296 2989 A 5029(IP)S 5127(\()S 5169(4)S 5227(\))S 960 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOSIPCONF,)S 2210(&struct)S 2572(nwio_ipconf\))S 1128 V 10 R 1080(The)S 10 B 1272(NWIOSIPCONF)S 10 R 2040(ioctl)S 2254(can)S 2429(be)S 2559(used)S 2778(to)S 2891(inform)S 3200(the)S 3358(IP)S 3484(server)S (about)223 3767 A 4026(its)S 4157(Internet)S 4507(Address)S 4873(and/or)S 5166(its)S 1248 V 1080(netmask.)S 1525(Normally)S 1971(an)S 2126(IP)S 2276(server)S (will)157 2583 A 2800(discover)S 3201(its)S 3356(Internet)S 3730(Address)S 4120(using)S 4397(the)S 4579(RARP)S 4901(protocol.)S 1368 V 10 B 1080(NWIOSIPCONF)S 10 R 1851(can)S 2029(be)S 2162(used)S 2384(in)S 2500(the)S 2661(case)S 2873(that)S 3062(the)S 3223(RARP)S 3524(failed,)S 3818(or)S 3941(the)S 4103(netmask)S 4477(has)S 4650(to)S 4767(be)S 4901(changed.)S 1488 V 1080(Note)S 1305(that)S 1484(higher)S 1769(level)S 1993(protocols)S 2395(\(TCP)S 2642(and)S 2815(UDP\))S 3079(assume)S 3403(that)S 3582(the)S 3733(Internet)S 4075(Address)S 4433(of)S 4545(an)S 4668(IP)S 4786(device)S 5077(does)S 1608 V 1080(not)S 1233(change,)S 1568(therefore)S 1958(TCP)S 2168(and)S 2338(UDP)S 2565(stop)S 2757(functioning)S 3245(if)S 3332(the)S 3480(Internet)S 3819(Address)S 4174(is)S 4266(changed.)S 1776 V 1080(The)S 1262(structure)S 10 B 1640(nwio_ipconf)S 10 R 2191(is)S 2283(de\256ned)S 2604(in)S 2707(:)S 1944 V 10 C (typedef)427 1440 A (struct)366 1928 A (nwio_ipconf)671 2355 A 2064 V 1440({)S 2184 V (u32_t)305 1800 A (nwic_\257ags;)610 2288 A 2304 V (ipaddr_t)488 1800 A (nwic_ipaddr;)732 2349 A 2424 V (ipaddr_t)488 1800 A (nwic_netmask;)793 2349 A 2544 V 1440(})S (nwio_ipconf_t;)854 1562 A 2712 V (#de\256ne)366 1440 A (NWIC_NOFLAGS)732 1867 A (0x0)183 3331 A 2832 V (#de\256ne)366 1440 A (NWIC_FLAGS)610 1867 A (0x3)183 3331 A 2952 V 1440(#)S (de\256ne)305 1928 A (NWIC_IPADDR_SET)915 2294 A (0x1)183 3819 A 3072 V 1440(#)S (de\256ne)305 1928 A (NWIC_NETMASK_SET)976 2294 A (0x2)183 3819 A 3240 V 10 R 1080(The)S 1276(function)S 1650(of)S 10 B 1773(nwio_ipconf)S 10 R 2338(depends)S 2706(on)S 2845(the)S 3007(value)S 3265(of)S 10 B 3389(nwic_\257ags)S 10 R 3836(.)S 3926(If)S 10 B (NWIC_IPADDR_SET)968 4034 A 10 R 5042(is)S 5149(set)S 3360 V 1080(then)S 1295(the)S 1460(Internet)S 1816(Address)S (will)157 2188 A 2387(be)S 2523(set)S 2676(to)S 10 B 2795(nwic_ipaddr)S 10 R 3338(.)S 3429(If)S 10 B 3538(NWIC_NETMASK_SET)S 10 R 4663(is)S 4771(set)S 4924(then)S 5138(the)S 3480 V 1080(Internet)S 1419(Address)S (will)157 1774 A 1956(be)S 2076(set)S 2213(to)S 10 B 2316(nwic_netmask)S 10 R 2932(.)S 3648 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOSIPOPT,)S 2131(&struct)S 2493(nwio_ipopt\))S 3816 V 10 R 1080(Before)S 1380(an)S 1500(IP)S 1615(channel)S 1953(can)S 2119(be)S 2240(used,)S 2475(it)S 2557(has)S 2717(to)S 2821(be)S 2942(con\256gured)S 3398(using)S 3641(the)S 10 B 3790(NWIOSIPOPT)S 10 R 4470(ioctl.)S 4725(The)S 4908(structure)S 3936 V 10 B 1080(nwio_ipopt)S 10 R 1586(is)S 1678(de\256ned)S 1999(in)S 2102(:)S 4104 V 10 C (typedef)427 1440 A (struct)366 1928 A (nwio_ipopt)610 2355 A 4224 V 1440({)S 4344 V (u32_t)305 1928 A (nwio_\257ags;)610 2294 A 4464 V (ipaddr_t)488 1928 A (nwio_rem;)549 2477 A 4584 V (ip_hdropt_t)671 1928 A (nwio_hdropt;)732 2660 A 4704 V (u8_t)244 1928 A (nwio_tos;)549 2233 A 4824 V (u8_t)244 1928 A (nwio_ttl;)549 2233 A 4944 V (u8_t)244 1928 A (nwio_df;)488 2233 A 5064 V (ipproto_t)549 1928 A (nwio_proto;)671 2538 A 5184 V 1440(})S (nwio_ipopt_t;)793 1562 A 5352 V (#de\256ne)366 1440 A (NWIO_NOFLAGS)732 1867 A (0x0000L)427 2843 A 5472 V (#de\256ne)366 1440 A (NWIO_ACC_MASK)793 1867 A (0x0003L)427 2843 A 5592 V 1440(#)S (de\256ne)305 1928 A (NWIO_EXCL)549 2294 A (0x00000001L)671 3331 A 5712 V 1440(#)S (de\256ne)305 1928 A (NWIO_SHARED)671 2294 A (0x00000002L)671 3331 A 5832 V 1440(#)S (de\256ne)305 1928 A (NWIO_COPY)549 2294 A (0x00000003L)671 3331 A 5952 V (#de\256ne)366 1440 A (NWIO_LOC_MASK)793 1867 A (0x0010L)427 2843 A 6072 V 1440(#)S (de\256ne)305 1928 A (NWIO_EN_LOC)671 2294 A (0x00000010L)671 3331 A 6192 V 1440(#)S (de\256ne)305 1928 A (NWIO_DI_LOC)671 2294 A (0x00100000L)671 3331 A 6312 V (#de\256ne)366 1440 A (NWIO_BROAD_MASK)915 1867 A (0x0020L)427 2843 A 6432 V 1440(#)S (de\256ne)305 1928 A (NWIO_EN_BROAD)793 2294 A (0x00000020L)671 3331 A 6552 V 1440(#)S (de\256ne)305 1928 A (NWIO_DI_BROAD)793 2294 A (0x00200000L)671 3331 A 6672 V (#de\256ne)366 1440 A (NWIO_REM_MASK)793 1867 A (0x0100L)427 2843 A 6792 V 1440(#)S (de\256ne)305 1928 A (NWIO_REMSPEC)732 2294 A (0x00000100L)671 3331 A 6912 V 1440(#)S (de\256ne)305 1928 A (NWIO_REMANY)671 2294 A (0x01000000L)671 3331 A 7032 V (#de\256ne)366 1440 A (NWIO_PROTO_MASK)915 1867 A (0x0200L)427 2843 A 7152 V 1440(#)S (de\256ne)305 1928 A (NWIO_PROTOSPEC)854 2294 A (0x00000200L)671 3331 A 7272 V 1440(#)S (de\256ne)305 1928 A (NWIO_PROTOANY)793 2294 A (0x02000000L)671 3331 A 7392 V (#de\256ne)366 1440 A (NWIO_HDR_O_MASK)915 1867 A (0x0400L)427 2843 A 7512 V 1440(#)S (de\256ne)305 1928 A (NWIO_HDR_O_SPEC)915 2294 A (0x00000400L)671 3331 A 7903 V 10 R 720(Page)S 941(5)S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Page: 6 6 BP /slant 0 def /height 0 def 480 V 10 R 720(IP)S 818(\()S 860(4)S 918(\))S 2696(Eighth)S (Edition)296 2989 A 5029(IP)S 5127(\()S 5169(4)S 5227(\))S 960 V 10 C 1440(#)S (de\256ne)305 1928 A (NWIO_HDR_O_ANY)854 2294 A (0x04000000L)671 3331 A 1080 V (#de\256ne)366 1440 A (NWIO_RW_MASK)732 1867 A (0x1000L)427 2843 A 1200 V 1440(#)S (de\256ne)305 1928 A (NWIO_RWDATONLY)854 2294 A (0x00001000L)671 3331 A 1320 V 1440(#)S (de\256ne)305 1928 A (NWIO_RWDATALL)793 2294 A (0x10000000L)671 3331 A 1488 V 10 R 1080(The)S 1316(options)S 1690(are)S 1893(divided)S 2273(in)S 2430(several)S 2795(categories:)S 10 B (NWIO_ACC_MASK)911 3311 A 10 R 4222(,)S 10 B 4326(NWIO_LOC_MASK)S 10 R 5236(,)S 1608 V 10 B 1080(NWIO_BROAD_MASK)S 10 R 2136(,)S 10 B 2698(NWIO_REM_MASK)S 10 R 3625(,)S 10 B 4186(NWIO_PROTO_MASK)S 10 R 5236(,)S 1728 V 10 B 1080(NWIO_HDR_O_MASK)S 10 R 2151(and)S 10 B 2323(NWIO_RW_MASK)S 10 R 3188(.)S 3266(A)S 3367(channel)S 3708(is)S 3803(con\256gured)S 4261(when)S 4507(one)S 4680(option)S 4964(of)S (each)185 5076 A 1848 V 1080(category)S 1452(is)S 1544(set.)S 2016 V 1080(The)S 1265(options)S 1588(covered)S 1935(by)S 10 B (NWIO_ACC_MASK)911 2063 A 10 R 3002(control)S 3315(the)S 3466(number)S 3801(of)S 3913(channels)S 4293(that)S 4472(can)S 4640(use)S 4802(one)S 4975(IP)S 5093(pro-)S 2136 V 1080(tocol.)S 1389(If)S 10 B 1515(NWIO_EXCL)S 10 R 2193(is)S 2318(speci\256ed)S 2734(then)S 2965(only)S 3201(that)S 3410(channel)S 3781(can)S 3979(use)S 4170(a)S 4272(certain)S 4604(IP)S 4751(protocol.)S 5193(If)S 2256 V 10 B 1080(NWIO_SHARED)S 10 R 1869(then)S (multiple)335 2071 A 2435(channels)S 2816(that)S 2997(all)S 3128(have)S 3348(to)S 3456(specify)S 10 B 3777(NWIO_SHARED)S 10 R 4567(can)S 4737(use)S 4901(the)S 5054(same)S 2376 V 1080(IP)S 1197(protocol,)S 1584(but)S 1739(incoming)S 2145(packets)S (will)157 2474 A 2658(be)S 2780(delivered)S 3181(to)S 3285(a)S 3356(most)S 3577(one)S 3748(channel.)S 10 B 4137(NWIO_SHARED)S 10 R 4923(does)S 5133(not)S 2496 V 1080(impose)S 1395(any)S 1565(restrictions.)S 2088(Every)S 2354(channel)S 2692(gets)S 2879(a)S (copy)195 2949 A 3169(of)S 3278(an)S 3398(incoming)S 3802(packet.)S 2664 V 10 B 1080(NWIO_LOC_MASK)S 10 R 2093(and)S 10 B 2341(NWIO_BROAD_MASK)S 10 R 3500(control)S 3888(the)S 4115(delivery)S 4549(of)S 4737(packets.)S 5193(If)S 2784 V 10 B 1080(NWIO_EN_LOC)S 10 R 1864(is)S 1967(speci\256ed)S 2361(then)S 2570(packets)S 2908(that)S 3095(are)S (explicitly)380 3255 A 3671(send)S 3891(to)S 4005(the)S 4164(IP)S 4290(server)S 4573(are)S 4733(delivered.)S 5193(If)S 2904 V 10 B 1080(NWIO_EN_BROAD)S 10 R 2000(is)S 2093(speci\256ed)S 2477(then)S 2676(broadcast)S 3088(packets)S 3417(are)S 3568(delivered.)S 4020(Either)S 4294(one)S 4466(or)S 4577(both)S 4782(of)S 4893(them)S 5121(can)S 3024 V 1080(be)S 1200(disabled)S 1560(with)S 10 B 1764(NWIO_DI_LOC)S 10 R 2509(and)S 10 B 2679(NWIO_DI_BROAD)S 10 R 3545(.)S 3192 V 10 B 1080(NWIO_REMSPEC)S 10 R 1939(can)S 2105(be)S 2226(used)S 2436(to)S 2540(restrict)S 2847(communication)S 3498(to)S 3603(one)S 3775(remote)S 4082(host.)S 4326(This)S 4532(host)S 4726(is)S 4820(taken)S 5065(from)S 3312 V 1080(the)S 10 B 1228(nwio_rem)S 10 R 1684(\256eld.)S 1938(If)S 2031(any)S 2201(remote)S 2506(host)S 2698(is)S 2790(to)S 2893(be)S 3013(allowed)S 3357(then)S 10 B (NWIO_REMANY)794 3555 A 10 R 4374(can)S 4539(be)S 4659(used.)S 3480 V 10 B 1080(NWIO_PROTOSPEC)S 10 R 2108(restricts)S 2500(communication)S 3197(to)S 3348(one)S 3566(IP)S 3729(protocol,)S 4162(speci\256ed)S 4593(in)S 10 B 4744(nwio_proto)S 10 R 5236(.)S 3600 V 10 B (NWIO_PROTOANY)917 1080 A 10 R 2022(allows)S 2310(any)S 2480(protocol)S 2840(to)S 2943(be)S 3063(sent)S 3250(or)S (received.)367 3359 A 3768 V 10 B 1080(NWIO_HDR_O_SPEC)S 10 R 2135(speci\256es)S 2537(all)S 2693(IP)S 2839(header)S 3164(options)S 3515(in)S 3649(advance.)S 4085(The)S 4298(values)S 4611(are)S 4791(taken)S 5065(from)S 3888 V 10 B 1080(nwio_hdropt)S 10 R 1634(,)S 10 B 1688(nwio_tos)S 10 R 2068(,)S 10 B 2122(nwio_ttl)S 10 R 2475(,)S 2528(and)S 10 B 2701(nwio_df)S 10 R 3048(.)S 10 B 3126(Nwio_hdropt)S 10 R 3725(speci\256es)S 4100(the)S 4251(IP)S 4369(options)S 4692(that)S (should)267 4871 A 5166(be)S 4008 V 1080(present)S 1396(in)S 1499(an)S 1619(outgoing)S 2000(packet.)S 10 B 2338(Ip_hdropt_t)S 10 R 2889(is)S 2981(de\256ned)S 3302(in)S 3405(:)S 4176 V 10 C (typedef)427 1440 A (struct)366 1928 A (ip_hdropt)549 2355 A 4296 V 1440({)S 4416 V (u8_t)244 1928 A (iho_opt_siz;)732 2233 A 4536 V (u8_t)244 1928 A (iho_data[IP_MAX_HDR_SIZE-IP_MIN_HDR_SIZE];)2562 2233 A 4656 V 1440(})S (ip_hdropt_t;)732 1562 A 4824 V 10 R 1080(The)S 1263(bytes)S 1501(of)S 1611(size)S 10 B (iho_opt_siz)486 1795 A 10 R 2308(in)S 10 B 2413(iho_data)S 10 R 2814(are)S 2965(appended)S 3377(to)S 3482(the)S 3632(IP)S 3749(header.)S 10 B 4095(Nwio_tos)S 10 R 4519(speci\256es)S 4893(the)S 5043(value)S 4944 V 1080(of)S 1189(the)S 1337(``type)S 1603(of)S 1712(service'')S 2091(bits,)S 10 B 2286(nwio_ttl)S 10 R 2664(gives)S 2901(the)S 3049(value)S 3292(of)S 3401(the)S 3549(``time)S 3821(to)S 3924(live'')S 4168(\256eld)S 4372(and)S 10 B 4542(nwio_df)S 10 R 4914(speci\256es)S 5064 V 1080(whether)S 1439(fragmentation)S 2038(is)S 2139(disallowed)S 2609(or)S 2727(not.)S 10 B (NWIO_HDR_O_ANY)961 2940 A 10 R 3936(speci\256es)S 4318(that)S 4504(the)S 4662(header)S 4966(options)S 5184 V (should)267 1080 A 1372(be)S 1492(speci\256ed)S 1875(at)S (each)185 1973 A 2183(write)S 2416(request.)S 5352 V 10 B 1080(NWIO_RWDATONLY)S 10 R 2126(speci\256es)S 2502(that)S 2682(the)S 2834(header)S (should)267 3132 A 3428(be)S (omitted)307 3552 A 3888(from)S 4113(a)S 4187(write)S 4425(request.)S 4796(This)S 5005(option)S 5472 V 1080(can)S 1280(only)S 1518(be)S 1673(used)S 1917(when)S 2195(all)S 2356(header)S 2685(\256elds)S 2963(are)S 3147(speci\256ed)S 3564(in)S 3701(previous)S 4106(options:)S 10 B 4488(NWIO_EN_LOC)S 10 R 5236(,)S 5592 V 10 B 1080(NWIO_DI_BROAD)S 10 R 1946(,)S 10 B 2012(NWIO_REMSPEC)S 10 R 2845(,)S 10 B 2911(NWIO_PROTOSPEC)S 10 R 3909(and)S 10 B 4096(NWIO_HDR_O_SPEC)S 10 R 5096(.)S 5188(A)S 5712 V 1080(read)S 1279(operation)S (will)157 1684 A 1866(also)S 2053(only)S 2256(return)S 2522(the)S 2670(data)S 2863(part,)S 3070(so)S 3184(the)S 3332(IP)S 3447(options)S (will)157 3767 A 3949(be)S 4069(lost.)S 5880 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOSIPOROUTE,)S 2360(&struct)S 2722(nwio_route\))S 6048 V 10 R 1080(The)S 10 B 1266(NWIOSIPOROUTE)S 10 R 2178(ioctl)S 2386(adds)S 2599(a)S 2673(route)S 2909(to)S 3016(the)S 3168(routing)S 3487(table.)S 3762(See)S 10 B 3938(NWIOGIPOROUTE)S 10 R (above)240 4873 A 5143(for)S 6168 V 1080(a)S 1150(description)S 1622(of)S 1731(the)S 10 B 1879(nwio_route)S 10 R 2391(structure.)S 2819(The)S 3001(\256elds)S 10 B 3244(nwr_ent_no)S 10 R 3784(and)S 10 B 3954(nwr_ent_count)S 10 R 4629(are)S (ignored.)332 4778 A 6336 V 870(T)S 872(TC)S 936(CP)S 1005(P)S 1088(F)S 1090(Fu)S 1148(un)S 1200(nc)S 1252(ct)S 1299(ti)S 1329(io)S 1359(on)S 1411(ns)S 1463(s)S 6456 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOTCPCONN,)S 2266(&struct)S 2628(nwio_tcpcl\))S 6624 V 10 R 1080(The)S 10 B 1275(NWIOTCPCONN)S 10 R 2102(ioctl)S 2319(tries)S 2531(to)S 2647(setup)S 2897(a)S (connection)441 2980 A 3459(with)S 3676(a)S 3759(remote)S 4077(TCP/IP)S 4418(server.)S 4753(The)S 4948(channel)S 6744 V 1080(must)S 1309(be)S 1438(fully)S 1662(con\256gured)S 2126(\(see)S 10 B 2323(NWIOSTCPCONF)S 10 R 3157(\))S 3225(and)S 3404(values)S 3695(for)S 3847(the)S 4003(local)S 4232(port,)S 4452(the)S 4608(remote)S 4921(port)S 5116(and)S 6864 V 1080(the)S 1232(remote)S 1541(address)S 1872(have)S 2091(be)S 2215(speci\256ed)S 2602(using)S 10 B 2849(NWTC_LP_SET)S 10 R 3611(or)S 10 B 3725(NWTC_LP_SEL)S 10 R 4457(,)S 10 B 4512(NWTC_SET_RA)S 6984 V 10 R 1080(and)S 10 B 1250(NWTC_SET_RP)S 10 R 1988(.)S 2063(The)S 2245(struct)S 2494(nwio_tcpcl)S 2966(is)S 3058(de\256ned)S 3379(in)S 3482()S 4271(as:)S 7152 V 10 C (typedef)427 1440 A (struct)366 1928 A (nwio_tcpcl)610 2355 A 7272 V 1440({)S 7392 V (long)244 1800 A (nwtcl_\257ags;)671 2105 A 7512 V (long)244 1800 A (nwtcl_ttl;)610 2105 A 7903 V 10 R 720(September)S 1176(13,)S (1996)200 1326 A 4990(Page)S 5211(6)S 8143 V EP %%Page: 7 7 BP /slant 0 def /height 0 def 480 V 10 R 720(IP)S 818(\()S 860(4)S 918(\))S 2696(Eighth)S (Edition)296 2989 A 5029(IP)S 5127(\()S 5169(4)S 5227(\))S 960 V 10 C 1440(})S (nwio_tcpcl_t;)793 1562 A 1128 V 10 R 1080(Set)S 1271(the)S 10 B 1456(nwtcl_\257ags)S 10 R 1999(\256eld)S 2240(to)S 2380(zero)S 2616(before)S 2936(the)S (connect)313 3121 A 3496(or)S 3643(listen)S 3924(call.)S ([[[Further)399 4183 A 4645(explanation)S 5177(of)S 1248 V (nwio_tcpcl?]]])594 1080 A 1416 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOGTCPCONF,)S 2333(&struct)S 2695(nwio_tcpconf\))S 1584 V 10 R 1080(This)S 1288(call)S 1463(reports)S 1773(the)S 1926(current)S 2242(con\256guration)S 2808(of)S 2922(a)S 2997(TCP)S 3212(channel.)S 3605(The)S 10 B 3792(nwtc_\257ags)S 10 R 4275(\256eld)S 4484(shows)S 4765(the)S 4918(status)S 5177(of)S 1704 V 1080(the)S 10 B (access)263 1234 A 10 R 1497(,)S 10 B 1553(locport)S 10 R 1861(,)S 10 B 1917(remaddr)S 10 R 2329(and)S 10 B 2505(remport)S 10 R 2895(\256elds.)S 10 B 3194(Nwtc_locaddr)S 10 R 3830(contains)S 4195(the)S 4348(Internet)S 4692(address)S 5024(of)S 5138(the)S 1824 V 1080(TCP/IP)S 1422(server.)S 10 B 1758(Remaddr)S 10 R 2206(contains)S 2580(the)S 2742(Internet)S 3095(address)S 3436(of)S 3559(the)S 3722(remote)S 4042(TCP/IP)S 4385(server)S 4672(when)S 4930(set)S 5082(with)S 1944 V 10 B 1080(NWTC_SET_RA)S 10 R 1935(or)S 2125(after)S 2416(a)S (successful)414 2566 A (connect)313 3085 A 3503(or)S 3692(listen)S 4015(\(see)S 10 B 4283(NWIOTCPCONN)S 10 R 5177(or)S 2064 V 10 B 1080(NWIOTCPLISTEN)S 10 R 1941(\).)S 10 B 2052(Nwio_locport)S 10 R 2661(contains)S 3023(the)S 3174(local)S 3398(TCP/IP)S 3729(port)S 3919(set)S 4059(with)S 10 B 4266(NWTC_LP_SET)S 10 R 5026(or)S 5138(the)S 2184 V 1080(selected)S 1436(port)S 1629(set)S 1771(with)S 10 B 1980(NWTC_LP_SEL)S 10 R 2712(.)S 10 B 2792(Nwtc_remport)S 10 R 3456(contains)S 3821(the)S 3974(TCP)S 4189(port)S 4381(of)S 4495(the)S 4648(remote)S 4958(TCP/IP)S 2304 V 1080(server)S 1352(as)S 1461(set)S 1598(with)S 10 B 1802(NWIO_SET_RP)S 10 R 2542(or)S 2651(after)S 2862(a)S (successful)414 2932 A (connect)313 3371 A 3709(or)S 3818(listen.)S 2472 V 1080(A)S 1183(value)S 1431(of)S 1545(0)S 1625(\(zero\))S 1897(is)S 1994(reported)S 2361(for)S 10 B 2510(nwtc_remaddr)S 10 R 3149(,)S 10 B 3205(nwtc_locport)S 10 R 3802(or)S 10 B 3917(nwtc_remport)S 10 R 4565(when)S 4814(no)S 4945(value)S 5194(is)S 2592 V 1080(set)S 1217(either)S (explicitly)380 1472 A 1877(or)S (implicitly.)416 1986 A 2760 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOTCPLISTEN,)S 2338(&struct)S 2700(nwio_tcpcl\))S 2928 V 10 R 1080(The)S 10 B 1263(NWIOTCPLISTEN)S 10 R 2151(ioctl)S 2357(waits)S (until)184 2597 A 2808(a)S 2880(remote)S 3187(TCP/IP)S 3517(server)S 3791(tries)S 3992(to)S (connect)313 4097 A 4437(to)S 4542(this)S 4714(channel.)S 5104(The)S 3048 V 1080(channel)S 1423(has)S 1587(to)S 1695(be)S 1820(con\256gured)S 2280(\(see)S 10 B 2473(NWIOSTCPCONF)S 10 R 3307(\).)S 3421(An)S (additional)402 3574 A 4006(restriction)S 4445(is)S 4542(that)S 4722(the)S 4874(local)S 5099(port)S 3168 V 1080(must)S 1307(be)S 1435(set)S 1580(\(with)S 10 B 1826(NWTC_LP_SET)S 10 R 2558(\))S 2625(or)S 2742(selected)S 3100(\(with)S 10 B 3346(NWTC_LP_SEL)S 10 R 4078(\).)S 4195(When)S 4468(a)S 4546(remote)S 4859(address)S 5194(is)S 3288 V 1080(set)S 1227(only)S (connections)480 1440 A 1955(for)S 2108(that)S 2294(host)S 2496(are)S (accepted,)378 2655 A 3068(and)S 3248(when)S 3501(a)S 3581(remote)S 3896(port)S 4092(is)S 4193(set)S 4339(only)S (connections)480 4551 A 5065(from)S 3408 V 1080(that)S 1261(port)S 1453(are)S (accepted.)378 1608 A 2042(After)S 2287(a)S (successful)414 2363 A 2808(listen)S 10 B 3057(NWIOGTCPCONF)S 10 R 3944(can)S 4115(be)S 4241(used)S 4456(to)S 4565(\256nd)S 4752(out)S 4911(what)S 5138(the)S 3528 V 1080(address)S 1407(and)S 1577(port)S 1764(of)S 1873(the)S 2021(other)S 2253(side)S 2440(are.)S 3696 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOSTCPCONF,)S 2311(&struct)S 2673(nwio_tcpconf\))S 3864 V 10 R 1080(Before)S 1382(a)S 1454(TCP)S 1666(channel)S 2007(can)S 2175(be)S 2298(used)S 2510(it)S 2594(must)S 2817(con\256gured)S 3275(using)S 3520(the)S 10 B 3671(NWIOSTCPCONF)S 10 R 4533(ioctl.)S 4790(The)S 4975(param-)S 3984 V 1080(eters)S 1308(to)S 10 B 1423(NWIOSTCPCONF)S 10 R 2294(are)S 2455(the)S 2614(channel)S 2963(\256le)S 3128(descriptor)S 3567(and)S 3748(a)S 10 B 3829(struct)S 4118(nwio_tcpconf)S 10 R 4731(as)S 4851(de\256ned)S 5183(in)S 4104 V 1080(:)S 4272 V 10 C (typedef)427 1440 A (struct)366 1928 A (nwio_tcpconf)732 2355 A 4392 V 1440({)S 4512 V (u32_t)305 1800 A (nwtc_\257ags;)610 2166 A 4632 V (ipaddr_t)488 1800 A (nwtc_locaddr;)793 2349 A 4752 V (ipaddr_t)488 1800 A (nwtc_remaddr;)793 2349 A 4872 V (tcpport_t)549 1800 A (nwtc_locport;)793 2410 A 4992 V (tcpport_t)549 1800 A (nwtc_remport;)793 2410 A 5112 V 1440(})S (nwio_tcpconf_t;)915 1562 A 5280 V (#de\256ne)366 1440 A (NWTC_NOFLAGS)732 1867 A (0x0000L)427 2843 A 5400 V (#de\256ne)366 1440 A (NWTC_ACC_MASK)793 1867 A (0x0003L)427 2843 A 5520 V 1440(#)S (de\256ne)305 1928 A (NWTC_EXCL)549 2294 A (0x00000001L)671 3331 A 5640 V 1440(#)S (de\256ne)305 1928 A (NWTC_SHARED)671 2294 A (0x00000002L)671 3331 A 5760 V 1440(#)S (de\256ne)305 1928 A (NWTC_COPY)549 2294 A (0x00000003L)671 3331 A 5880 V (#de\256ne)366 1440 A (NWTC_LOCPORT_MASK)1037 1867 A (0x0030L)427 3331 A 6000 V 1440(#)S (de\256ne)305 1928 A (NWTC_LP_UNSET)793 2294 A (0x00000010L)671 3331 A 6120 V 1440(#)S (de\256ne)305 1928 A (NWTC_LP_SET)671 2294 A (0x00000020L)671 3331 A 6240 V 1440(#)S (de\256ne)305 1928 A (NWTC_LP_SEL)671 2294 A (0x00000030L)671 3331 A 6360 V (#de\256ne)366 1440 A (NWTC_REMADDR_MASK)1037 1867 A (0x0100L)427 3331 A 6480 V 1440(#)S (de\256ne)305 1928 A (NWTC_SET_RA)671 2294 A (0x00000100L)671 3331 A 6600 V 1440(#)S (de\256ne)305 1928 A (NWTC_UNSET_RA)793 2294 A (0x01000000L)671 3331 A 6720 V (#de\256ne)366 1440 A (NWTC_REMPORT_MASK)1037 1867 A (0x0200L)427 3331 A 6840 V 1440(#)S (de\256ne)305 1928 A (NWTC_SET_RP)671 2294 A (0x00000200L)671 3331 A 6960 V 1440(#)S (de\256ne)305 1928 A (NWTC_UNSET_RP)793 2294 A (0x02000000L)671 3331 A 7128 V 10 R 1080(A)S 1181(tcp)S 1332(channel)S 1673(is)S 1768(considered)S 2232(con\256gured)S 2690(when)S 2936(one)S 3110(\257ag)S 3290(in)S (each)185 3397 A 3611(category)S 3987(has)S 4150(been)S 4369(selected.)S 4773(Thus)S 5003(one)S 5177(of)S 7248 V 10 B 1080(NWTC_EXCL)S 10 R 1723(,)S 10 B 1888(NWTC_SHARED)S 10 R 2811(or)S 10 B 3035(NWTC_COPY)S 10 R 3684(,)S 3849(one)S 4134(of)S 10 B 4358(NWTC_LP_UNSET)S 10 R 5236(,)S 7368 V 10 B 1080(NWTC_LP_SET)S 10 R 1837(or)S 10 B 1946(NWTC_LP_SEL)S 10 R 2678(,)S 2728(one)S 2898(of)S 10 B 3007(NWTC_SET_RA)S 10 R 3781(or)S 10 B 3890(NWTC_UNSET_RA)S 10 R 4785(,)S 4835(and)S 5006(one)S 5177(of)S 7488 V 10 B 1080(NWTC_SET_RP)S 10 R 1843(or)S 10 B 1952(NWTC_UNSET_RP)S 10 R 2836(.)S 7903 V 720(Page)S 941(7)S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Page: 8 8 BP /slant 0 def /height 0 def 480 V 10 R 720(IP)S 818(\()S 860(4)S 918(\))S 2696(Eighth)S (Edition)296 2989 A 5029(IP)S 5127(\()S 5169(4)S 5227(\))S 960 V 1080(The)S (acc)135 1272 A 1442(\257ags)S 1667(control)S 1987(the)S (access)258 2145 A 2438(to)S 2551(a)S 2631(certain)S 2941(TCP)S 3161(port.)S 10 B 3408(NWTC_EXCL)S 10 R 4086(means)S 4378(exclusive)S (access.)283 4794 A 5138(An)S 1080 V 1080(attempt)S 1421(to)S 1538(con\256gure)S 1957(a)S 2041(channel)S (will)157 2393 A 2589(be)S 2723(denied)S 3030(if)S 3131(the)S 3293(same)S 3539(port)S 3740(is)S 3846(speci\256ed)S 4243(as)S 4365(that)S 4554(of)S 4676(a)S 4759(channel)S 5110(that)S 1200 V 1080(requested)S 1501(exclusive)S (access.)283 1916 A 10 B 2259(NWTC_SHARED)S 10 R 3077(indicates)S 3470(that)S 3656(several)S 3977(channels)S 4364(use)S 4533(the)S 4692(same)S 4935(port)S 5133(but)S 1320 V (cooperate.)417 1080 A 1550(If)S 1646(the)S 1797(shared)S 2088(mode)S 2338(is)S 2432(speci\256ed)S 2817(for)S 2962(one)S 3134(channel)S 3474(than)S 3674(all)S 3802(other)S 4036(channel)S 4376(that)S 4554(use)S 4715(the)S 4865(same)S 5099(port)S 1440 V (should)267 1080 A 1374(also)S 1563(be)S 1685(con\256gured)S 2142(with)S 2348(the)S 10 B 2498(NWTC_SHARED)S 10 R 3309(\257ag.)S 10 B 3538(NWTC_COPY)S 10 R 4215(is)S 4310(speci\256ed)S 4696(when)S 4942(the)S 5093(pro-)S 1560 V 1080(grammer)S 1469(does)S 1678(not)S 1831(care)S (about)223 2025 A 2273(other)S 2505(channels.)S 2932(This)S 3136(is)S 3228(the)S 3376(default.)S 1728 V 1080(The)S 1269(locport)S 1586(\257ags)S 1808(control)S 2125(which)S 2403(TCP)S 2621(port)S 2816(is)S 2916(used)S 3133(for)S 3284(communication.)S 10 B 3992(NWTC_LP_UNSET)S 10 R 4903(indicates)S 1848 V 1080(the)S 1236(absence)S 1588(of)S 1705(a)S 1783(local)S 2012(port.)S 2257(This)S 2469(is)S 2569(the)S 2725(default.)S 10 B 3088(NWTC_LP_SET)S 10 R 3853(means)S 4143(that)S 4327(the)S 10 B 4483(nwtc_locport)S 10 R 5082(\256eld)S 1968 V 1080(contains)S 1451(the)S 1610(local)S 1842(port)S 2040(to)S 2154(be)S 2285(used)S 2505(by)S 2641(TCP.)S 2912(This)S 3127(value)S 3382(must)S 3614(be)S 3746(in)S 3861(network)S 4228(byte)S 4438(order)S 4688(\(see)S 10 B 4888(hton)S 10 R 5084(\(3\).\))S 2088 V 10 B 1080(NWTC_LP_SEL)S 10 R 1841(requests)S 2200(the)S 2352(TCP)S 2566(server)S 2842(to)S 2949(pick)S 3151(a)S 3225(port.)S 3466(This)S 3674(port)S (will)157 3864 A 4049(be)S 4172(in)S 4278(the)S 4429(range)S 4681(from)S (32768)250 4905 A 5183(to)S 2208 V (65535)250 1080 A 1355(and)S (will)157 1525 A 1707(be)S 1827(unique.)S 2376 V 1080(The)S 10 B 1273(remaddr)S 10 R 1690(\257ags)S 1917(specify)S 2245(which)S 2528(hosts)S 2771(are)S (acceptable)426 2932 A 3395(for)S (connections.)505 3550 A 10 B 4117(NWTC_SET_RA)S 10 R 4903(indicates)S 2496 V 1080(that)S 1258(only)S (connection)441 1463 A 1931(to)S 2036(the)S 2186(host)S 2380(speci\256ed)S 2765(in)S 10 B 2870(nwtc_remaddr)S 10 R 3536(are)S (acceptable.)451 3687 A 10 B 4190(Nwtc_remaddr)S 10 R (should)267 4873 A 5166(be)S 2616 V 1080(in)S 1195(network)S 1562(byte)S 1772(order)S 2022(\(see)S 10 B 2222(hton)S 10 R 2418(\(3\).\))S 10 B 2657(NWTC_UNSET_RA)S 10 R 3589(allows)S 3889(every)S 4150(host)S 4354(on)S 4491(the)S 4651(other)S 4895(side)S 5094(of)S 5216(a)S 2736 V (connection.)466 1080 A 1596(This)S 1800(is)S 1892(the)S 2040(default.)S 2904 V 1080(The)S 10 B 1264(remport)S 10 R 1650(\257ags)S 1867(specify)S 2185(which)S 2458(remote)S 2766(ports)S 2995(are)S (acceptable)426 3147 A 3601(for)S (connections.)505 3747 A 10 B 4305(NWTC_SET_RP)S 10 R 5071(indi-)S 3024 V 1080(cates)S 1316(that)S 1501(only)S 1712(the)S 1868(port)S 2063(speci\256ed)S 2454(in)S 10 B 2565(nwtc_remport)S 10 R 3215(is)S (acceptable.)451 3315 A 10 B 3824(NWTC_UNSET_RP)S 10 R 4741(allows)S 5037(every)S 3144 V 1080(port)S 1267(on)S 1392(the)S 1540(other)S 1772(side)S 1959(of)S 2068(a)S (connection.)466 2138 A 2654(This)S 2858(is)S 2950(the)S 3098(default.)S 3312 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOTCPSHUTDOWN\))S 3480 V 10 R 1080(The)S 10 B 1266(NWIOTCPSHUTDOWN)S 10 R 2385(tells)S 2582(the)S 2734(TCP/IP)S 3066(server)S 3342(that)S 3522(no)S 3651(more)S 3887(data)S (will)157 4084 A 4270(be)S 4394(sent)S 4586(over)S 4795(the)S 4948(channel)S 3600 V 1080(speci\256ed)S 1482(by)S 10 I 1626(fd)S 10 R 1712(.)S 1806(This)S 2028(command)S 2467(can)S 2650(be)S 2788(issued)S 3082(when)S 3343(the)S 3509(channel)S 3865(is)S (connected)408 3975 A 4426(to)S 4547(a)S 4635(remote)S 4958(TCP/IP)S 3720 V 1080(server.)S 1418(The)S 1616(TCP/IP)S 1960(server)S (will)157 2248 A 2446(tell)S 2616(the)S 2780(remote)S 3101(TCP/IP)S 3445(server)S 3733(and)S 3919(the)S 4083(client)S 4348(of)S 4473(the)S 4637(remote)S 4958(TCP/IP)S 3840 V 1080(server)S (will)157 1352 A (receive)292 1534 A 1851(an)S 1971(end-of-\256le)S 2422(indication.)S 4008 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOGTCPOPT,)S 2254(&struct)S 2616(nwio_tcpopt\))S 4128 V 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOSTCPOPT,)S 2232(&struct)S 2594(nwio_tcpopt\))S 4296 V 10 R 1080(The)S 1262(behaviour)S 1689(of)S 1799(a)S 1870(TCP)S 2081(channel)S 2420(may)S 2619(be)S 2740(changed)S 3101(by)S (setting)268 3227 A 3521(a)S 3592(number)S 3925(of)S 4035(options.)S 4406(The)S 4589(TCP)S 4800(options)S 5121(can)S 4416 V 1080(be)S 1201(obtained)S 1573(with)S 1778(the)S 10 B 1927(NWIOGTCPOPT)S 10 R 2730(ioctl)S 2935(and)S 3106(set)S 3244(with)S 3449(the)S 10 B 3598(NWIOSTCPOPT)S 10 R 4379(ioctl.)S 4634(The)S 4817(options)S 5137(are)S 4536 V 1080(passed)S 1373(in)S 1476(a)S 10 B 1546(struct)S 1824(nwio_tcpopt)S 10 R 2381(as)S 2490(de\256ned)S 2811(in)S 2914(:)S 4704 V 10 C (typedef)427 1440 A (struct)366 1928 A (nwio_tcpopt)671 2355 A 4824 V 1440({)S 4944 V (u32_t)305 1800 A (nwto_\257ags;)610 2166 A 5064 V 1440(})S (nwio_tcpconf_t;)915 1562 A 5232 V (#de\256ne)366 1440 A (NWTO_NOFLAG)671 1867 A (0x0000L)427 2843 A 5352 V (#de\256ne)366 1440 A (NWTO_SND_URG_MASK)1037 1867 A (0x0001L)427 3331 A 5472 V 1440(#)S (de\256ne)305 1928 A (NWTO_SND_URG)732 2294 A (0x00000001L)671 3331 A 5592 V 1440(#)S (de\256ne)305 1928 A (NWTO_SND_NOTURG)915 2294 A (0x00010000L)671 3331 A 5712 V (#de\256ne)366 1440 A (NWTO_RCV_URG_MASK)1037 1867 A (0x0002L)427 3331 A 5832 V 1440(#)S (de\256ne)305 1928 A (NWTO_RCV_URG)732 2294 A (0x00000002L)671 3331 A 5952 V 1440(#)S (de\256ne)305 1928 A (NWTO_RCV_NOTURG)915 2294 A (0x00020000L)671 3331 A 6072 V (#de\256ne)366 1440 A (NWTO_BSD_URG_MASK)1037 1867 A (0x0004L)427 3331 A 6192 V 1440(#)S (de\256ne)305 1928 A (NWTO_BSD_URG)732 2294 A (0x00000004L)671 3331 A 6312 V (#de\256ne)366 1440 A (NWTO_DEL_RST_MASK)1037 1867 A (0x0008L)427 3331 A 6432 V 1440(#)S (de\256ne)305 1928 A (NWTO_DEL_RST)732 2294 A (0x00000008L)671 3331 A 6600 V 10 R 1080(The)S 10 B 1267(NWTO_SND_URG)S 10 R 2141(option)S 2427(causes)S 2720(bytes)S (written)286 2962 A 3278(to)S 3386(the)S 3539(channel)S 3882(to)S 3990(be)S 4115(send)S 4329(out)S 4487(as)S 4601(urgent)S 4889(data.)S 5138(On)S 6720 V (receiving)375 1080 A 1484(an)S 10 B 1608(EURG)S 10 R 1928(error)S 2154(the)S 10 B (NWTO_RCV_URG)861 2305 A 10 R 3194(option)S 3478(must)S 3701(be)S 3824(set)S 3964(to)S 4070(switch)S 4361(over)S 4568(to)S 4674(reading)S 5004(urgent)S 6840 V 1080(data.)S 1334(When)S 1610(all)S 1747(urgent)S 2040(data)S 2245(has)S 2416(been)S 2643(read)S 2854(an)S 10 B 2986(ENOURG)S 10 R 3465(error)S (will)157 3699 A 3893(follow,)S 4218(indicating)S 4657(that)S 4845(the)S 5005(option)S 6960 V 1080(must)S 1334(be)S 1488(cleared)S 1839(with)S 10 B (NWTO_RCV_NOTURG)1079 2077 A 10 R 3156(.)S 3265(Alas)S 3509(the)S 3691(BSD)S 3946(implementation)S 4636(of)S 4778(urgent)S 5093(data)S 7080 V 1080(disagrees)S 1500(with)S 1724(the)S 1893(RFC's,)S 2227(so)S 2362(to)S 2486(be)S 2627(BSD)S 2869(compatible)S 3362(one)S 3553(must)S 3794(set)S 3952(the)S 10 B 4121(NWTO_BSD_URG)S 10 R 5005(option)S 7200 V 1080(beforehand)S 1564(on)S 1695(a)S 1771(channel)S 2115(that)S 2297(is)S 2395(to)S 2504(send)S 2719(or)S (receive)292 2834 A 3157(urgent)S 3445(data.)S 3694(Given)S 3971(that)S 4153(the)S 4307(BSD)S 4533(implementation)S 5194(is)S 7320 V 1080(the)S 1238(regarded)S 1626(as)S 1745(the)S 1903(TCP/IP)S 2241(standard)S 2617(one)S (should)267 2797 A 3099(always)S 3414(use)S 3583(the)S 3741(BSD)S 3972(style.)S 4247(The)S 10 B 4440(NWTO_DEL_RST)S 7440 V 10 R 1080(option)S 1364(delays)S 1649(a)S 1722(failure)S (response)352 2014 A 2394(on)S 2522(a)S (connect)313 2595 A 2936(to)S 3042(the)S 3193(same)S 3428(port)S 3618(as)S 3729(the)S 3879(current)S 4192(open)S (connection.)466 4414 A (Without)329 4932 A 7903 V 720(September)S 1176(13,)S (1996)200 1326 A 4990(Page)S 5211(8)S 8143 V EP %%Page: 9 9 BP /slant 0 def /height 0 def 480 V 10 R 720(IP)S 818(\()S 860(4)S 918(\))S 2696(Eighth)S (Edition)296 2989 A 5029(IP)S 5127(\()S 5169(4)S 5227(\))S 960 V 1080(this)S 1250(option)S 1531(a)S (connect)313 1601 A 1939(would)S 2216(fail)S 2377(if)S 2465(a)S 2536(server)S 2809(is)S 2902(not)S 3056(yet)S 3205(listening.)S 3627(With)S 3854(this)S 4025(option)S 4307(a)S (connect)313 4378 A (will)157 4717 A 4900(linger)S 5161(on)S 1080 V (until)184 1080 A 1304(the)S 1467(server)S 1754(starts)S 2007(listening.)S 2443(This)S 2662(option)S 2958(is)S 3065(useful)S 3351(for)S 3509(a)S 3593(server)S 3879(that)S 4069(opens)S 4342(a)S (connection,)466 4426 A 4931(tells)S 5138(the)S 1200 V 1080(remote)S 1396(end)S 1577(the)S 1736(local)S 1968(port)S 2166(number)S 2509(and)S 2690(then)S 2899(listens)S 3193(\(FTP\),)S 3497(or)S 3618(for)S 3773(a)S 3855(program)S 4233(that)S 4421(forks)S 4665(off)S 4820(servers)S 5143(for)S 1320 V 1080(incoming)S (connections)480 1490 A (\(TELNET\).)476 2001 A 2532(A)S 2635(new)S (connection)441 2833 A 3304(may)S 3507(come)S 3755(in)S 3863(before)S 4151(a)S 4226(new)S 4424(listen)S 4672(can)S 4842(be)S 4967(started,)S 1440 V 1080(so)S 1194(it)S 1275(is)S 1367(nice)S 1560(if)S 1647(the)S 1795(new)S (connect)313 1988 A 2326(doesn't)S 2647(fail.)S 2857(Use)S 3039(this)S 3209(option)S 3490(only)S 3693(when)S 3936(it)S 4017(is)S 4109(clearly)S 4409(needed.)S 1608 V 870(U)S 872(UD)S 947(DP)S 1022(P)S 1105(F)S 1107(Fu)S 1165(un)S 1217(nc)S 1269(ct)S 1316(ti)S 1346(io)S 1376(on)S 1428(ns)S 1480(s)S 1728 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOGUDPOPT,)S 2260(&struct)S (nwio_udpopt\))599 2622 A 1896 V 10 R 1080(The)S 10 B 1275(NWIOGUDPOPT)S 10 R 2096(ioctl)S 2313(returns)S 2631(the)S 2792(current)S 3117(options)S 3451(that)S 3641(result)S 3904(from)S 4139(the)S 4301(default)S 4620(options)S 4954(and)S 5138(the)S 2016 V 1080(options)S 1421(set)S 1579(with)S 10 B 1804(NWIOSUDPOPT)S 10 R 2565(.)S 2661(When)S 10 B 2947(NWUO_LP_SEL)S 10 R 3736(or)S 10 B 3866(NWUO_LP_SET)S 10 R 4655(is)S 4768(selected)S 5138(the)S 2136 V 1080(local)S 1301(port)S 1488(is)S 1580(returned)S 1941(in)S 10 B 2044(nwuo_locport)S 10 R 2637(.)S 2712(When)S 10 B 2977(NWUO_RP_SET)S 10 R 3751(is)S 3843(selected)S 4193(the)S 4341(remote)S 4646(port)S 4833(is)S 4925(returned)S 2256 V 1080(in)S 10 B 1248(nwuo_remport)S 10 R 1892(.)S 2032(The)S 2279(local)S 2565(address)S 2957(is)S 3114(always)S 3484(returned)S 3910(in)S 10 B 4078(nwuo_locaddr)S 10 R 4693(,)S 4808(and)S 5043(when)S 2376 V 10 B 1080(NWUO_RA_SET)S 10 R 1865(is)S 1957(selected)S 2307(the)S 2455(remote)S 2760(address)S 3087(is)S 3179(returned)S 3540(in)S 10 B 3643(nwuo_remaddr)S 10 R 4309(.)S 2544 V 10 B 1080(ioctl\()S 10 I 1299(fd)S 10 B 1377(,)S 1427(NWIOSUDPOPT,)S 2238(&struct)S (nwio_udpopt\))599 2600 A 2712 V 10 R 1080(A)S 1186(UDP)S 1421(channel)S 1767(must)S 1995(be)S 2123(con\256gured)S 2586(using)S 2836(the)S 10 B 2992(NWIOSUDPOPT)S 10 R 3786(ioctl)S 3998(before)S 4289(any)S 4467(data)S 4668(can)S 4841(be)S 4969(read)S 5177(or)S 2832 V (written.)311 1080 A 10 B 1446(NWIOSUDPOPT)S 10 R 2237(takes)S 2474(two)S 2655(parameters,)S 3153(a)S 3228(\256le)S 3387(descriptor)S 3820(to)S 3928(an)S 4053(open)S 4278(UDP)S 4510(device)S 4802(and)S 4976(pointer)S 2952 V 1080(to)S 1189(a)S 10 B (nwio_udpopt)565 1265 A 10 R 1861(structure)S 2245(that)S 2427(describes)S 2833(the)S 2987(requested)S 3405(con\256guration.)S 4023(The)S 10 B (nwio_udpopt)565 4212 A 10 R 4809(structure)S 5194(is)S 3072 V 1080(de\256ned)S 1401(in)S ()791 1504 A 2320(as:)S 3240 V 10 C (typedef)427 1440 A (struct)366 1928 A (nwio_udpopt)671 2355 A 3360 V 1440({)S 3480 V (unsigned)488 1800 A (long)244 2349 A (nwuo_\257ags;)610 2654 A 3600 V (udpport_t)549 1800 A (nwuo_locport;)793 2410 A 3720 V (udpport_t)549 1800 A (nwuo_remport;)793 2410 A 3840 V (ipaddr_t)488 1800 A (nwuo_locaddr;)793 2349 A 3960 V (ipaddr_t)488 1800 A (nwuo_remaddr;)793 2349 A 4080 V 1440(})S (nwio_udpopt_t;)854 1562 A 4248 V (#de\256ne)366 1440 A (NWUO_NOFLAGS)732 1867 A (0x0000L)427 3331 A 4368 V (#de\256ne)366 1440 A (NWUO_ACC_MASK)793 1867 A (0x0003L)427 3331 A 4488 V (#de\256ne)366 1440 A (NWUO_EXCL)549 2355 A (0x00000001L)671 3819 A 4608 V (#de\256ne)366 1440 A (NWUO_SHARED)671 2355 A (0x00000002L)671 3819 A 4728 V (#de\256ne)366 1440 A (NWUO_COPY)549 2355 A (0x00000003L)671 3819 A 4848 V (#de\256ne)366 1440 A (NWUO_LOCPORT_MASK)1037 1867 A (0x000CL)427 3331 A 4968 V (#de\256ne)366 1440 A (NWUO_LP_SEL)671 2355 A (0x00000004L)671 3819 A 5088 V (#de\256ne)366 1440 A (NWUO_LP_SET)671 2355 A (0x00000008L)671 3819 A 5208 V (#de\256ne)366 1440 A (NWUO_LP_ANY)671 2355 A (0x0000000CL)671 3819 A 5328 V (#de\256ne)366 1440 A (NWUO_LOCADDR_MASK)1037 1867 A (0x0010L)427 3331 A 5448 V (#de\256ne)366 1440 A (NWUO_EN_LOC)671 2355 A (0x00000010L)671 3819 A 5568 V (#de\256ne)366 1440 A (NWUO_DI_LOC)671 2355 A (0x00100000L)671 3819 A 5688 V (#de\256ne)366 1440 A (NWUO_BROAD_MASK)915 1867 A (0x0020L)427 3331 A 5808 V (#de\256ne)366 1440 A (NWUO_EN_BROAD)793 2355 A (0x00000020L)671 3819 A 5928 V (#de\256ne)366 1440 A (NWUO_DI_BROAD)793 2355 A (0x00200000L)671 3819 A 6048 V (#de\256ne)366 1440 A (NWUO_REMPORT_MASK)1037 1867 A (0x0100L)427 3331 A 6168 V (#de\256ne)366 1440 A (NWUO_RP_SET)671 2355 A (0x00000100L)671 3819 A 6288 V (#de\256ne)366 1440 A (NWUO_RP_ANY)671 2355 A (0x01000000L)671 3819 A 6408 V (#de\256ne)366 1440 A (NWUO_REMADDR_MASK)1037 1867 A (0x0200L)427 3331 A 6528 V (#de\256ne)366 1440 A (NWUO_RA_SET)671 2355 A (0x00000200L)671 3819 A 6648 V (#de\256ne)366 1440 A (NWUO_RA_ANY)671 2355 A (0x02000000L)671 3819 A 6768 V (#de\256ne)366 1440 A (NWUO_RW_MASK)732 1867 A (0x1000L)427 3331 A 6888 V (#de\256ne)366 1440 A (NWUO_RWDATONLY)854 2355 A (0x00001000L)671 3819 A 7008 V (#de\256ne)366 1440 A (NWUO_RWDATALL)793 2355 A (0x10000000L)671 3819 A 7128 V (#de\256ne)366 1440 A (NWUO_IPOPT_MASK)915 1867 A (0x2000L)427 3331 A 7248 V (#de\256ne)366 1440 A (NWUO_EN_IPOPT)793 2355 A (0x00002000L)671 3819 A 7368 V (#de\256ne)366 1440 A (NWUO_DI_IPOPT)793 2355 A (0x20000000L)671 3819 A 7903 V 10 R 720(Page)S 941(9)S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Page: 10 10 BP /slant 0 def /height 0 def 480 V 10 R 720(IP)S 818(\()S 860(4)S 918(\))S 2696(Eighth)S (Edition)296 2989 A 5029(IP)S 5127(\()S 5169(4)S 5227(\))S 960 V 1080(A)S 1183(UDP)S 1415(channel)S 1758(is)S 1855(considered)S 2321(con\256gured)S 2782(when)S 3031(one)S 3207(\257ag)S 3389(in)S (each)185 3498 A 3714(category)S 4092(has)S 4257(been)S 4478(selected.)S 4884(Thus)S 5116(one)S 1080 V 1080(of)S 10 B 1287(NWUO_EXCL)S 10 R 1941(,)S 10 B 2089(NWUO_SHARED)S 10 R 3006(or)S 10 B 3213(NWUO_COPY)S 10 R 3873(,)S 4020(one)S 4287(of)S 10 B 4493(NWUO_LP_SEL)S 10 R 5236(,)S 1200 V 10 B 1080(NWUO_LP_SET)S 10 R 1873(or)S 10 B (NWUO_LP_ANY)772 2007 A 10 R 2779(,)S 2854(one)S 3049(of)S 10 B 3183(NWUO_EN_LOC)S 10 R 4016(or)S 10 B 4151(NWUO_DI_LOC)S 10 R 4905(,)S 4981(one)S 5177(of)S 1320 V 10 B 1080(NWUO_EN_BROAD)S 10 R 2008(,)S 2080(or)S 10 B 2211(NWUO_DI_BROAD)S 10 R 3111(,)S 3183(one)S 3375(of)S 10 B 3506(NWUO_RP_SET)S 10 R 4255(,)S 4327(or)S 10 B (NWUO_RP_ANY)778 4458 A 10 R 5236(,)S 1440 V 1080(one)S 1335(of)S 10 B 1529(NWUO_RA_SET)S 10 R 2289(,)S 2424(or)S 10 B (NWUO_RA_ANY)789 2618 A 10 R 3407(,)S 3542(one)S 3797(of)S 10 B 3991(NWUO_RWDATONLY)S 10 R 5042(,)S 5177(or)S 1560 V 10 B 1080(NWUO_RWDATALL)S 10 R 2047(,)S 2100(and)S 2273(one)S 2446(of)S 10 B 2558(NWUO_EN_IPOPT)S 10 R 3430(,)S 3483(or)S 10 B 3595(NWUO_DI_IPOPT)S 10 R 4439(.)S 4517(The)S (acc)135 4702 A 4865(\257ags)S 5082(con-)S 1680 V 1080(trol)S 1254(the)S (access)258 1411 A 1703(to)S 1815(a)S 1894(certain)S 2203(UDP)S 2439(port.)S 10 B 2685(NWUO_EXCL)S 10 R 3373(means)S 3664(exclusive)S (access:)286 4078 A 4398(no)S 4532(other)S 4773(channel)S 5121(can)S 1800 V 1080(use)S 1250(this)S 1431(port.)S 10 B 1678(NWUO_SHARED)S 10 R 2507(means)S 2799(shared)S (access:)286 3097 A 3418(only)S 3631(channels)S 4018(that)S 4204(specify)S 4530(shared)S (access)258 4828 A 5121(can)S 1920 V 1080(use)S 1254(this)S 1439(port)S 1641(and)S 1826(all)S 1967(packets)S 2309(that)S 2500(are)S (received)342 2664 A 3046(are)S 3211(handed)S 3542(to)S 3661(at)S 3775(most)S 4011(one)S 4197(channel.)S 10 B 4601(NWUO_COPY)S 2040 V 10 R 1080(imposes)S 1434(no)S (access)258 1559 A 1842(restriction)S 2276(and)S 2446(all)S 2572(channels)S 2949(get)S 3097(a)S (copy)195 3167 A 3387(of)S 3496(every)S (received)342 3745 A 4112(packet)S 4400(for)S 4543(that)S 4719(port.)S 2208 V 1080(The)S 10 B 1272(locport)S 10 R 1615(\257ags)S 1840(control)S 2160(the)S 2318(selection)S 2711(of)S 2830(the)S 2988(UDP)S 3225(port)S 3422(for)S 3575(this)S 3755(channel.)S 10 B 4153(NWUO_LP_SEL)S 10 R 4931(requests)S 2328 V 1080(the)S 1240(server)S 1524(to)S 1639(pick)S 1849(a)S 1930(port.)S 2178(This)S 2393(port)S (will)157 2591 A 2784(be)S 2915(in)S 3029(the)S 3188(range)S 3448(from)S (32768)250 3680 A 3966(to)S (65535)250 4080 A 4366(and)S 4547(it)S (will)157 4639 A 4832(be)S 4963(unique.)S 2448 V 10 B 1080(NWUO_LP_SET)S 10 R 1853(sets)S 2035(the)S 2189(local)S 2416(port)S 2609(to)S 2718(the)S 2872(value)S 3121(of)S 3236(the)S 10 B 3390(nwuo_locport)S 10 R 4014(\256eld.)S 10 B (NWUO_LP_ANY)772 4274 A 10 R 5077(does)S 2568 V 1080(not)S 1252(select)S 1526(a)S 1615(port.)S (Reception)408 1870 A 2321(of)S 2448(data)S 2659(is)S 2769(therefore)S 3177(not)S 3348(possible)S 3720(but)S 3891(it)S 3990(is)S 4100(possible)S 4472(to)S 4593(send)S 4820(data.)S 5081(\(See)S 2688 V 10 B 1080(tcpip_read)S 10 R 1545(,)S 1595(and)S 10 B 1765(tcpip_write)S 10 R (above\).)299 2284 A 2856 V 1080(The)S 10 B 1267(locaddr)S 10 R 1627(\257ags)S 1847(control)S 2162(the)S (reception)375 2315 A 2720(of)S 2834(packets.)S 10 B 3216(NWUO_EN_LOC)S 10 R 4029(enables)S 4362(the)S (reception)375 4516 A 4922(of)S 5037(pack-)S 2976 V 1080(ets)S 1222(with)S 1431(the)S 1584(local)S 1810(IP)S 1930(address)S 2261(as)S 2374(destination.)S 10 B 2894(NWUO_DI_LOC)S 10 R 3677(disables)S 4030(the)S (reception)375 4182 A 4586(of)S 4699(packet)S 4991(for)S 5138(the)S 3096 V 1080(local)S 1301(IP)S 1416(address.)S 3264 V 1080(The)S 10 B 1267(broad)S 10 R 1554(\257ags)S 1774(control)S 2089(the)S (reception)375 2242 A 2647(of)S 2762(broadcast)S 3179(packets.)S 10 B 3562(NWUO_EN_BROAD)S 10 R 4521(enables)S 4854(the)S (recep-)253 5008 A 3384 V 1080(tion)S 1261(of)S 1370(broadcast)S 1781(packets)S 2108(and)S 10 B 2278(NWUO_DI_BROAD)S 10 R 3203(disables)S 3552(the)S (reception)375 3700 A 4100(of)S 4209(broadcast)S 4620(packets.)S 3552 V 1080(The)S 10 B 1268(remport)S 10 R 1658(\257ags)S 1879(let)S 2011(the)S 2165(client)S 2420(to)S 2529(specify)S 2851(one)S 3027(speci\256c)S 3366(remote)S 3677(UDP)S 3910(port)S 4103(or)S 4219(to)S 4329(allow)S 4585(any)S 4762(remote)S 5074(port.)S 3672 V 10 B 1080(NWUO_RP_SET)S 10 R 1872(sets)S 2066(the)S 2231(remote)S 2553(UDP)S 2797(port)S 3001(to)S 3121(the)S 3286(value)S 3546(of)S 10 B 3672(nwuo_remport)S 10 R 4316(.)S 4408(Only)S 4651(packets)S 4995(with)S 5216(a)S 3792 V 1080(matching)S 1491(remote)S 1808(port)S (will)157 2007 A 2201(be)S 2333(delivered)S 2745(and)S 2927(all)S 3065(packets)S (will)157 3404 A 3598(be)S 3730(sent)S 3929(to)S 4044(that)S 4233(port.)S 10 B (NWUO_RP_ANY)778 4483 A 3912 V 10 R 1080(allows)S (reception)375 1383 A 1798(of)S 1922(packets)S 2264(form)S 2500(any)S 2685(port)S 2887(and)S 3071(when)S (transmitting)486 3328 A 3853(packets)S 4194(the)S 4356(remote)S 4675(port)S 4876(has)S 5049(to)S 5166(be)S 4032 V 1080(speci\256ed.)S 4200 V 1080(The)S 10 B 1272(remaddr)S 10 R 1688(\257ags)S 1913(control)S 2233(the)S 2391(remote)S 2706(IP)S 2831(address.)S 10 B 3218(NWUO_RA_SET)S 10 R 4013(sets)S 4199(the)S 4358(remote)S 4674(IP)S 4800(address)S 5138(the)S 4320 V 1080(value)S 1325(of)S 10 B 1436(nwuo_remaddr)S 10 R 2102(.)S 2179(Only)S 2407(packets)S 2736(from)S 2959(that)S 3136(address)S (will)157 3464 A 3647(be)S 3768(delivered)S 4169(and)S 4340(all)S 4467(packets)S (will)157 4795 A 4978(be)S 5099(sent)S 4440 V 1080(to)S 1191(that)S 1375(address.)S 10 B (NWUO_RA_ANY)789 1760 A 10 R 2582(allows)S (reception)375 2878 A 3286(of)S 3403(packets)S 3738(from)S 3967(any)S 4145(host)S 4345(and)S 4523(when)S (transmitting)486 4775 A 4560 V 1080(packets)S 1407(the)S 1555(remote)S 1860(host)S 2052(has)S 2211(to)S 2314(be)S 2434(speci\256ed.)S 4728 V 1080(The)S 10 B 1263(rw)S 10 R 1407(\257ags)S 1623(control)S 1934(the)S 2083(format)S 2378(of)S 2488(the)S 2637(data)S 2831(to)S 2936(be)S 3058(sent)S 3247(or)S (received.)367 3358 A 3777(With)S 10 B 4005(NWUO_RWDATONLY)S 10 R 5083(only)S 4848 V 1080(the)S 1236(data)S 1437(part)S 1627(of)S 1744(a)S 1822(UDP)S 2057(packet)S 2353(is)S 2453(sent)S 2648(to)S 2759(the)S 2915(server)S 3195(and)S 3373(only)S 3584(the)S 3740(data)S 3941(part)S 4131(is)S (received)342 4231 A 4606(from)S 4834(the)S 4989(server.)S 4968 V 1080(The)S 10 B 1269(NWUO_RWDATALL)S 10 R 2268(mode)S 2523(presents)S 2885(the)S 3040(data)S 3240(part)S 3429(of)S 3545(a)S 3622(UDP)S 3856(packet)S 4151(with)S 4362(a)S 4440(header)S 4742(that)S 4926(contains)S 5088 V 1080(the)S 1229(source)S 1518(and)S 1689(destination)S 2156(IP)S 2272(address,)S 2625(source)S 2914(and)S 3085(destination)S 3552(UDP)S 3780(ports,)S 4031(the)S 4179(IP)S 4294(options,)S 4639(etc.)S 4832(The)S 5014(server)S 5208 V 1080(expects)S 1407(such)S 1616(a)S 1686(header)S 1980(in)S 2083(front)S 2304(of)S 2413(the)S 2561(data)S 2754(to)S 2857(be)S (transmitted.)478 2977 A 5376 V 1080(The)S 10 B 1266(ipopt)S 10 R 1519(\257ags)S 1738(control)S 2052(the)S 2204(delivery)S 2563(and)S 2737(transmission)S 3274(of)S 3387(IP)S 3506(options.)S 3880(When)S 10 B 4150(NWUO_EN_IPOPT)S 10 R 5052(is)S 5149(set)S 5496 V 1080(IP,)S 1221(options)S (will)157 1542 A 1725(be)S 1846(delivered)S 2247(and)S 2418(sent.)S 2655(When)S 10 B 2920(NWUO_DI_IPOPT)S 10 R 3789(is)S 3881(set)S 4018(IP)S 4133(option)S (will)157 4414 A 4596(be)S 4716(stripped)S 5065(from)S 5616 V (received)342 1080 A 1447(packets)S 1774(and)S 1944(no)S 2069(IP)S 2184(options)S (will)157 2504 A 2686(be)S 2806(sent.)S 5784 V 9 R 720(F)S 722(FI)S 774(IL)S 807(LE)S 865(ES)S 923(S)S 5904 V 10 R 1080(/dev/eth[01])S 1980(First)S 2190(and)S (second)279 2360 A 2664(raw)S 2841(ethernet.)S 6072 V 1080(/dev/psip[01])S 1980(First)S 2190(and)S (second)279 2360 A (Pseudo)290 2664 A 2979(IP)S 3094(network.)S 6240 V (/dev/ip[0123])547 1080 A 1980(IP)S 2095(devices)S 2422(for)S 2565(two)S 2741(ethernets)S 3130(and)S 3300(two)S (Pseudo)290 3476 A 3791(IP)S 3906(networks.)S 6408 V (/dev/tcp[0123])592 1080 A 1980(TCP)S 2190(devices)S 2517(for)S 2660(same)S 2892(four)S 3085(networks.)S 6576 V (/dev/udp[0123])619 1080 A 1980(UDP)S 2207(devices.)S 6744 V 1080(/dev/eth,)S 1454(/dev/psip,)S 1872(/dev/ip,)S 2201(/dev/tcp,)S (/dev/udp)351 2575 A 6864 V 1980(Devices)S 2335(for)S 2483(the)S 2636(default)S 2946(network,)S 3332(links)S 3558(to)S 3667(the)S 3821(devices)S (above.)265 4154 A 10 B 4475(Eth)S 10 R 4663(is)S 4761(only)S 4970(present)S 6984 V 1980(if)S 2067(ethernet)S 2417(is)S 2509(the)S 2657(default,)S 10 B 2987(psip)S 10 R 3191(only)S 3394(for)S (pseudo)284 3537 A 3846(IP.)S 7152 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 7272 V 10 B 1080(hton)S 10 R 1276(\(3\),)S 10 B 1444(oneC_sum)S 10 R 1897(\(3\),)S 10 B 2065(set_net_default)S 10 R 2721(\(8\),)S 10 B 2889(boot)S 10 R 3079(\(8\).)S 7903 V 720(September)S 1176(13,)S (1996)200 1326 A 4940(Page)S 5161(10)S 8143 V EP %%Page: 11 11 BP /slant 0 def /height 0 def 480 V 10 R 720(IP)S 818(\()S 860(4)S 918(\))S 2696(Eighth)S (Edition)296 2989 A 5029(IP)S 5127(\()S 5169(4)S 5227(\))S 960 V 9 R 720(D)S 722(DI)S 790(IA)S 823(AG)S 891(GN)S 959(NO)S 1027(OS)S 1095(ST)S 1147(TI)S 1205(IC)S 1238(CS)S 1300(S)S 1080 V 10 R 1080(Several)S 1413(errors)S 1679(may)S 1882(be)S 2007(returned)S 2373(by)S 2503(the)S 2656(TCP/IP)S 2989(server.)S 3316(The)S 3503(error)S 3730(code)S 3950(is)S (found)234 4047 A 4311(in)S 4419(the)S 10 B (errno)241 4572 A 10 R 4843(variable)S 5199(if)S 1200 V 1080(the)S 10 B 1228(read)S 10 R 1424(,)S 10 B 1474(write)S 10 R 1699(,)S 1749(or)S 10 B 1858(ioctl)S 10 R 2068(call)S 2239(returns)S 2544(-1.)S 2703(The)S 2885(TCP/IP)S 3213(error)S 3435(codes)S 3689(de\256ned)S 4010(in)S 4113()S 4540(are:)S 1368 V 1080(EPACKSIZE)S 2497(This)S 2712(indicates)S 3106(an)S 3237(attempt)S 3575(to)S 3689(read)S 3899(or)S 4019(write)S 4263(with)S 4478(a)S 4559(buffer)S 4842(that)S 5029(is)S 5133(too)S 1488 V 2497(large)S 2724(or)S 2833(too)S 2986(small.)S 1656 V 1080(EOUTOFBUFS)S 2497(The)S 2679(TCP/IP)S 3007(server)S 3279(has)S 3438(insuf\256cient)S 3916(memory)S 4276(to)S 4379(execute)S 4712(the)S 4860(request.)S 1824 V 1080(EBADIOCTL)S 2497(This)S 2730(indicates)S 3142(an)S 3292(attempt)S 3649(to)S 3782(execute)S 4145(a)S 4245(command)S 4696(the)S 4874(particular)S 1944 V 2497(server)S 2770(does)S 2980(not)S (understand.)466 3134 A 3651(For)S 3817(example,)S 4209(a)S 10 B 4280(NWIOGTCPCONF)S 10 R 5161(on)S 2064 V 2497(an)S 2617(ETH)S 2839(channel.)S 2232 V 1080(EBADMODE)S 2497(The)S 2679(request)S 2995(is)S 3087(refused)S (because)319 3409 A 3753(the)S 3901(channel)S 4239(is)S 4332(not)S 4486(fully)S 4702(con\256gured,)S 5183(in)S 2352 V 2497(the)S (wrong)257 2645 A 2927(state)S 3137(or)S 3246(the)S 3394(parameters)S 3862(are)S 4011(invalid.)S 2520 V (EBADDEST)528 1080 A 2497(This)S 2701(indicates)S 3084(an)S (illegal)252 3204 A 3481(destination)S 3947(address)S 4274(for)S 4417(a)S 4487(packet.)S 2688 V 1080(EDSTNORCH)S 2497(The)S 2679(destination)S 3145(is)S 3237(not)S (reachable.)412 3390 A 2856 V (EISCONN)438 1080 A 2497(The)S 2679(channel)S 3017(is)S 3109(already)S (connected)408 3431 A 3864(so)S 3978(a)S (second)279 4048 A 4352(request)S 4668(is)S 4760(refused.)S 3024 V (EADDRINUSE)646 1080 A 2497(This)S 2701(address)S 3028(is)S 3120(in)S 3223(use.)S 3192 V (ECONNREFUSED)797 1080 A 2497(The)S (connection)441 2679 A 3145(is)S 3237(refused)S 3559(by)S 3684(the)S 3832(other)S 4064(side.)S 3360 V (ECONNRESET)657 1080 A 2497(The)S (connection)441 2702 A 3191(is)S 3306(reset)S (\(non-gracefully)627 3545 A 4220(terminated\))S 4733(by)S 4882(the)S 5054(other)S 3480 V 2497(side.)S 3648 V (ETIMEDOUT)590 1080 A 2497(The)S (connection)441 2679 A 3145(is)S 3237(terminated)S 3693(due)S 3863(to)S 3966(an)S 4086(expired)S 4413(timer.)S 3816 V 1080(EURG)S 2497(Urgent)S 2809(data)S 3009(is)S 3108(present)S 3431(and)S 3608(the)S 3763(current)S (receive)292 4081 A 4405(mode)S 4660(does)S 4876(not)S 5037(allow)S 3936 V 2497(urgent)S 2779(data)S 2972(to)S 3075(be)S 3195(transferred.)S 4104 V (ENOURG)421 1080 A 2497(No)S 2645(urgent)S 2927(data)S 3120(is)S 3212(present)S 3528(and)S 3698(a)S 3768(request)S 4084(came)S 4322(for)S 4465(urgent)S 4747(data.)S 4272 V (ENOTCONN)556 1080 A 2497(The)S 2698(request)S 3034(requires)S 3404(a)S (connected)408 3494 A 3947(channel)S 4305(and)S 4495(the)S 4663(channel)S 5021(is)S 5133(not)S 4392 V (connected.)433 2497 A 4560 V 1080(ESHUTDOWN)S 2497(The)S (connection)441 2684 A 3156(is)S 3254(shut)S 3452(down.)S 3756(That)S 3972(is,)S 4095(a)S 10 B 4171(NWIOTCPSHUTDOWN)S 4680 V 10 R 2497(has)S 2656(been)S 2871(executed)S 3254(so)S 3368(no)S 3493(more)S 3725(data)S 3918(can)S 4083(be)S (transmitted.)478 4203 A 4848 V (ENOCONN)494 1080 A 2497(The)S (connection)441 2679 A 3145(does)S 3354(not)S 3507(exist.)S 5016 V 1080(EGENERIC)S 2497(A)S 2595(generic)S 2917(error)S 3139(code)S 3354(for)S 3497(extremely)S 3925(weird)S 4180(cases.)S 5184 V 9 R 720(A)S 722(AU)S 790(UT)S 858(TH)S 916(HO)S 984(OR)S 1052(R)S 5304 V 10 R (Philip)240 1080 A 1345(Homburg)S (\(philip@cs.vu.nl\))707 1755 A 7903 V 720(Page)S 941(11)S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Trailer %%DocumentFonts: Times-Roman Times-Bold Times-Italic Courier Courier %%Pages: 11