%!PS-Adobe-3.0 %%Creator: groff version 1.16.1 %%CreationDate: Sun Sep 29 12:30:25 2002 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Symbol %%+ font Times-Italic %%DocumentSuppliedResources: procset grops 1.16 1 %%Pages: 7 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.16 1 /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }bind def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /FL{ currentgray exch setgray fill setgray }bind def /BL/fill load def /LW/setlinewidth load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def }bind def /PEND{ clear countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Symbol %%IncludeResource: font Times-Italic grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron /scaron/zcaron/Ydieresis/trademark/quotesingle/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O /P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex /underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y /z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0/Times-Bold RE /Times-Roman@0 ENC0/Times-Roman RE %%EndProlog %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q -.834(CR \( VII \))72 58 R 179.842 (1/4/75 CR)182.342 F 1.666(\(V)1.666 G -.834(II \))-1.666 F/F1 8 /Times-Bold@0 SF -.16(NA)72 123.2 S(ME).16 E F0(crfork, cre)108 134.2 Q (xit, crread, crwrite, cre)-.15 E(xch, crprior)-.15 E/F2 10/Symbol SF(-) 2.5 E F0(coroutine scheme)2.5 E F1(SYNOPSIS)72 152.4 Q/F3 10 /Times-Bold@0 SF(int crf)108 163.4 Q(ork\()-.25 E F0([)2.5 E F3 (stack, nw)2.5 E(ords)-.1 E F0(])2.5 E F3(\))2.5 E(int stack[];)108 174.4 Q(int nw)108 185.4 Q(ords;)-.1 E(cr)108 201.44 Q(exit\(\))-.18 E (int crr)108 217.48 Q(ead\(connector)-.18 E 2.5(,b)-.92 G(uffer)-2.7 E 2.5(,n)-.92 G(bytes\))-2.5 E(int *connector[2];)108 228.48 Q(char *b)108 239.48 Q(uffer;)-.2 E(int nbytes;)108 250.48 Q(crwrite\(connector)108 266.52 Q 2.5(,b)-.92 G(uffer)-2.7 E 2.5(,n)-.92 G(bytes\))-2.5 E (int *connector[2];)108 277.52 Q(char *b)108 288.52 Q(uffer;)-.2 E (int nbytes;)108 299.52 Q(cr)108 315.56 Q(exch\(conn1, conn2, i\))-.18 E (int *conn1[2], *conn2[2];)108 326.56 Q(int i;)108 337.56 Q(#def)108 353.6 Q(ine logical char *)-.25 E(cr)108 364.6 Q(prior\(p\))-.1 E (logical p;)108 375.6 Q F1(DESCRIPTION)72 393.8 Q F0 .02 (These functions are named by analogy to)108 404.8 R/F4 10 /Times-Italic@0 SF .019(fork, e)2.519 F .019(xit, r)-.2 F .019 (ead, write)-.37 F F0 2.519(\(II\). The)2.519 F 2.519(ye)-.15 G .019 (stablish and synchronize `corou-)-2.519 F .171(tines', which beha)108 415.8 R .471 -.15(ve i)-.2 H 2.671(nm).15 G(an)-2.671 E 2.671(yr)-.15 G .171(espects lik)-2.671 F 2.671(eas)-.1 G .171(et of processes w)-2.671 F .171(orking in the same address space.)-.1 F .172(The func-)5.172 F (tions li)108 426.8 Q .3 -.15(ve i)-.25 H(n).15 E F4(/usr/lib/cr)2.5 E (.a.)-1.11 E F0 .392 (Coroutines are placed on queues to indicate their state of readiness.) 108 442.84 R .392(One coroutine is al)5.392 F -.1(wa)-.1 G .392 (ys distinguished).1 F 1.264(as `running'.)108 453.84 R 1.264 (Coroutines that are runnable b)6.264 F 1.264(ut not running are re)-.2 F 1.265(gistered on a `ready queue'.)-.15 F 1.265(The head)6.265 F (member of the ready queue is started whene)108 464.84 Q -.15(ve)-.25 G 2.5(rn).15 G 2.5(oo)-2.5 G(ther coroutine is specif)-2.5 E (ically caused to be running.)-.2 E .053(Each connector heads tw)108 480.88 R 2.553(oq)-.1 G(ueues:)-2.553 E F4(Connector[0])2.553 E F0 .053 (is the queue of unsatisf)2.553 F(ied)-.2 E F4(crr)2.552 E(eads)-.37 E F0 .052(outstanding on the con-)2.552 F(nector)108 491.88 Q(.)-.55 E F4 (Connector[1])5 E F0(is the queue of)2.5 E F4(crwrites.)2.5 E F0 (All queues must start empty)5 E(,)-.65 E F4(i.e)2.5 E(.)-.15 E F0 (with heads set to zero.)5 E F4(Crfork)108 507.92 Q F0 1.684 (is normally called with no ar)4.184 F 4.184(guments. It)-.18 F 1.684 (places the running coroutine at the head of the ready)4.184 F 1.323 (queue, creates a ne)108 518.92 R 3.823(wc)-.25 G 1.323 (oroutine, and starts the ne)-3.823 F 3.822(wo)-.25 G 1.322(ne running.) -3.822 F F4(Crfork)6.322 E F0 1.322(returns immediately in the ne)3.822 F(w)-.25 E(coroutine with v)108 529.92 Q (alue 0, and upon restarting of the old coroutine with v)-.25 E(alue 1.) -.25 E F4(Cr)108 545.96 Q -.2(ex)-.37 G(it).2 E F0 (stops the running coroutine and does not place it in an)2.5 E 2.5(yq) -.15 G(ueue.)-2.5 E F4(Crr)108 562 Q(ead)-.37 E F0 .982 (copies characters from the)3.482 F F4 -.2(bu)3.482 G -.18(ff).2 G(er) .18 E F0 .982(of the)3.482 F F4(crwrite)3.482 E F0 .982 (at the head of the)3.482 F F4(connector')3.482 E(s)-.4 E F0 .983 (write queue to the)3.483 F F4 -.2(bu)108 573 S -.18(ff).2 G(er).18 E F0 (of)2.717 E F4(crr)2.717 E(ead.)-.37 E F0 .217 (If the write queue is empty)5.217 F 2.717(,c)-.65 G(op)-2.717 E .217 (ying is delayed and the running coroutine is placed on the)-.1 F .761 (read queue.)108 584 R .762 (The number of characters copied is the minimum of)5.761 F F4(nbytes) 3.262 E F0 .762(and the number of characters re-)3.262 F .474 (maining in the write)108 595 R F4 -.2(bu)2.974 G -.18(ff).2 G(er).18 E (,)-1.11 E F0 .474(and is returned as the v)2.974 F .474(alue of)-.25 F F4(crr)2.974 E(ead.)-.37 E F0 .473(After cop)5.474 F .473 (ying, the location of the write)-.1 F F4 -.2(bu)108 606 S -.18(ff).2 G (er).18 E F0 .681(and the corresponding)3.181 F F4(nbytes)3.181 E F0 .681(are updated appropriately)3.181 F 5.681(.I)-.65 G 3.182(fz)-5.681 G .682(ero characters remain, the coroutine of)-3.182 F(the)108 617 Q F4 (crwrite)2.923 E F0 .423(is mo)2.923 F -.15(ve)-.15 G 2.923(dt).15 G 2.923(ot)-2.923 G .423(he head of the ready queue.)-2.923 F .422 (If the write queue remains nonempty)5.423 F 2.922(,t)-.65 G .422 (he head mem-)-2.922 F(ber of the read queue is mo)108 628 Q -.15(ve) -.15 G 2.5(dt).15 G 2.5(ot)-2.5 G(he head of the ready queue.)-2.5 E F4 (Crwrite)108 644.04 Q F0 .248(queues the running coroutine on the)2.748 F F4(connector')2.749 E(s)-.4 E F0 .249(write queue, and records the f) 2.749 F .249(act that)-.1 F F4(nbytes)2.749 E F0(\(zero)2.749 E 1.056 (or more\) characters in the string)108 655.04 R F4 -.2(bu)3.555 G -.18 (ff).2 G(er).18 E F0 1.055(are a)3.555 F -.25(va)-.2 G 1.055(ilable to) .25 F F4(crr)3.555 E(eads.)-.37 E F0 1.055 (If the read queue is not empty)6.055 F 3.555(,i)-.65 G 1.055(ts head) -3.555 F(member is started running.)108 666.04 Q F4(Cr)108 682.08 Q -.2 (ex)-.37 G -.15(ch).2 G F0 -.15(ex)2.845 G .195 (changes the read queues of connectors).15 F F4(conn1)2.695 E F0(and) 2.695 E F4(conn2)2.695 E F0(if)2.695 E F4(i)2.695 E F0 .196 (=0; and it e)B .196(xchanges the write queues)-.15 F(if)108 693.08 Q F4 (i)3.323 E F0 3.323(=1. If)B 3.322(an)3.322 G .822(onempty read queue t\ hat had been paired with an empty write queue becomes paired with a) -3.322 F(nonempty write queue,)108 704.08 Q F4(cr)2.5 E -.2(ex)-.37 G -.15(ch).2 G F0(mo)2.65 E -.15(ve)-.15 G 2.5(st).15 G (he head member of that read queue to the head of the ready queue.)-2.5 E 2.5(-1-)297.67 767 S EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q -.834(CR \( VII \))72 58 R 179.842 (1/4/75 CR)182.342 F 1.666(\(V)1.666 G -.834(II \))-1.666 F/F1 10 /Times-Italic@0 SF(Crprior)108 105 Q F0 1.574 (sets a priority on the running coroutine to control the queuing of) 4.073 F F1(crr)4.074 E(eads)-.37 E F0(and)4.074 E F1(crwrites.)4.074 E F0(When)6.574 E .431(queued, the running coroutine will tak)108 116 R 2.931(ei)-.1 G .431(ts place before coroutines whose priorities e)-2.931 F .43(xceed its o)-.15 F .43(wn priority)-.25 F .178(and after others.) 108 127 R .178(Priorities are compared as logical,)5.178 F F1(i.e)2.679 E(.)-.15 E F0 .179(unsigned, quantities.)5.179 F .179 (Initially each coroutine')5.179 F 2.679(sp)-.55 G(ri-)-2.679 E (ority is set as lar)108 138 Q(ge as possible, so def)-.18 E (ault queuing is FIFO.)-.1 E/F2 10/Times-Bold@0 SF 1.114 (Storage allocation.)108 154.04 R F0 1.114(The old and ne)6.114 F 3.614 (wc)-.25 G 1.114(oroutine share the same acti)-3.614 F -.25(va)-.25 G 1.113(tion record in the function that in-).25 F -.2(vo)108 165.04 S -.1 (ke).2 G(d).1 E F1(crfork,)3.25 E F0 .75 (so only one may return from the in)3.25 F -.2(vo)-.4 G .751 (king function, and then only when the other has com-).2 F(pleted e)108 176.04 Q -.15(xe)-.15 G(cution in that function.).15 E .23(The acti)108 192.08 R -.25(va)-.25 G .23(tion record for each function e).25 F -.15 (xe)-.15 G .229(cution is dynamically allocated rather than stack).15 F .229(ed; a f)-.1 F .229(actor of 3)-.1 F .398(in running time o)108 203.08 R -.15(ve)-.15 G .398(rhead can result if function calls are v) .15 F .398(ery frequent.)-.15 F .398(The o)5.398 F -.15(ve)-.15 G .399 (rhead may be o).15 F -.15(ve)-.15 G .399(rcome by).15 F(pro)108 214.08 Q .932(viding a separate stack for each coroutine and dispensing with d\ ynamic allocation.)-.15 F .931(The base \(lo)5.931 F(west\))-.25 E .017 (address and size of the ne)108 225.08 R 2.517(wc)-.25 G(oroutine') -2.517 E 2.517(ss)-.55 G .017(tack are supplied to)-2.517 F F1(crfork) 2.517 E F0 .017(as optional ar)2.517 F(guments)-.18 E F1(stac)2.517 E(k) -.2 E F0(and)2.517 E F1(nwor)2.518 E(ds.)-.37 E F0(Stack)108 236.08 Q .838(ed allocation and dynamic allocation cannot be mix)-.1 F .837 (ed in one run.)-.15 F -.15(Fo)5.837 G 3.337(rs).15 G(tack)-3.337 E .837 (ed operation, obtain the)-.1 F(coroutine functions from)108 247.08 Q F1 (/usr/lib/scr)2.5 E(.a)-1.11 E F0(instead of)2.5 E F1(/usr/lib/cr)2.5 E (.a.)-1.11 E/F3 8/Times-Bold@0 SF(FILES)72 265.28 Q F0(/usr/lib/cr)108 276.28 Q(.a)-.55 E(/usr/lib/scr)108 287.28 Q(.a)-.55 E F3(DIA)72 305.48 Q(GNOSTICS)-.44 E F0(`rsa)108 316.48 Q 1.404 -.15(ve d)-.2 H(oesn').15 E 3.604(tw)-.18 G(ork')-3.704 E/F4 10/Symbol SF(-)3.604 E F0 1.104 (an old C compilation has called `rsa)3.604 F -.15(ve)-.2 G 3.605('. It) .15 F 1.105(must be recompiled to w)3.605 F 1.105(ork with the)-.1 F (coroutine scheme.)108 327.48 Q F3 -.08(BU)72 345.68 S(GS).08 E F0 .251 (Under /usr/lib/cr)108 356.68 R .251(.a each function has just 12 w)-.55 F .251(ords of anon)-.1 F .25(ymous stack for hard e)-.15 F .25 (xpressions and ar)-.15 F(guments)-.18 E(of further calls, re)108 367.68 Q -.05(ga)-.15 G(rdless of actual need.).05 E (There is no checking for stack o)5 E -.15(ve)-.15 G(rflo).15 E -.65(w.) -.25 G(Under /usr/lib/scr)108 378.68 Q(.a stack o)-.55 E -.15(ve)-.15 G (rflo).15 E 2.5(wc)-.25 G(hecking is not rigorous.)-2.5 E 2.5(-2-)297.67 767 S EP %%Page: 3 3 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q -.834(MS \( VII \))72 58 R 176.232 (11/6/74 MS)178.732 F 1.666(\(V)1.666 G -.834(II \))-1.666 F/F1 8 /Times-Bold@0 SF -.16(NA)72 123.2 S(ME).16 E F0(ms)108 134.2 Q/F2 10 /Symbol SF(-)2.5 E F0(macros for formatting manuscripts)2.5 E F1 (SYNOPSIS)72 152.4 Q/F3 10/Times-Bold@0 SF(nr)108 163.4 Q(off)-.18 E F2 (-)2.5 E F3(ms)A F0 2.5([o)2.5 G(ptions ] f)-2.5 E(ile ...)-.2 E F3(tr) 108 174.4 Q(off)-.18 E F2(-)2.5 E F3(ms)A F0 2.5([o)2.5 G(ptions ] f) -2.5 E(ile ...)-.2 E F1(DESCRIPTION)72 192.6 Q F0 .289(This package of) 108 203.6 R/F4 10/Times-Italic@0 SF(nr)2.789 E(of)-.45 E(f)-.18 E F0 (and)2.789 E F4(tr)2.789 E(of)-.45 E(f)-.18 E F0 .289(macro def)2.789 F .289(initions pro)-.2 F .289(vides a canned formatting f)-.15 F .29 (acility for technical papers.)-.1 F (When producing 2-column output on a terminal, its output should be f) 108 214.6 Q(iltered through)-.2 E F4(col)2.5 E F0(\(I\).)2.5 E .12 (The package supports three dif)108 230.64 R .119 (ferent formats: BTL technical memorandum with co)-.25 F -.15(ve)-.15 G 2.619(rs).15 G .119(heet, released paper)-2.619 F(with co)108 241.64 Q -.15(ve)-.15 G 2.5(rs).15 G(heet, and an abbre)-2.5 E(viated `deb)-.25 E (ugging' form without co)-.2 E -.15(ve)-.15 G 2.5(rs).15 G(heet.)-2.5 E .093(The macro requests are def)108 257.68 R .094 (ined in the attached Request Reference.)-.2 F(Man)5.094 E(y)-.15 E F4 (nr)2.594 E(of)-.45 E(f)-.18 E F0(and)2.594 E F4(tr)2.594 E(of)-.45 E(f) -.18 E F0 .094(requests are unsafe)2.594 F .966 (in conjunction with this package, ho)108 268.68 R(we)-.25 E -.15(ve) -.25 G 3.466(rt).15 G .966(he requests listed belo)-3.466 F 3.466(wm) -.25 G .965(ay be used with impunity after the)-3.466 F -.2(fi)108 279.68 S(rst .PP).2 E(.)-1.11 E 10(.bp be)148 295.72 R(gin ne)-.15 E 2.5 (wp)-.25 G(age)-2.5 E 11.67(.br break)148 306.72 R(output line here)2.5 E(.sp n)148 317.72 Q(insert n spacing lines)6.11 E(.ls n)148 328.72 Q (\(line spacing\) n=1 single, n=2 double space)8.33 E 10.56(.na no)148 339.72 R(alignment of right mar)2.5 E(gin)-.18 E(Output of the)108 355.76 Q F4(eqn, neqn)2.5 E F0(and)2.5 E F4(tbl)2.5 E F0 (\(I\) preprocessors for equations and tables is acceptable as input.) 2.5 E F1(FILES)72 373.96 Q F0(/usr/lib/tmac.s)108 384.96 Q F1(SEE ALSO) 72 403.16 Q F0(eqn \(I\), nrof)108 414.16 Q 2.5(f\()-.25 G(I\), trof) -2.5 E 2.5(f\()-.25 G(I\), tbl \(VI\))-2.5 E F1 -.08(BU)72 432.36 S(GS) .08 E F0 2.5(-3-)297.67 767 S EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q -.834(MS \( VII \))72 58 R 176.232 (11/6/74 MS)178.732 F 1.666(\(V)1.666 G -.834(II \))-1.666 F(REQ)253.685 105 Q(UEST REFERENCE)-.1 E 19.28(Request Initial)72 121.04 R(Cause)30.11 E -.15(Fo)72 132.04 S 29.98(rm V).15 F 28.73(alue Break)-1.11 F (Explanation)12.12 E/F1 9/Times-Roman@0 SF 38.997(.1C yes)72 148.08 R 21.753(yes One)42.003 F(column format on a ne)2.25 E 2.25(wp)-.225 G (age.)-2.25 E 38.997(.2C no)72 159.08 R 21.753(yes T)45 F .18 -.09(wo c) -.72 H(olumn format.).09 E 36.999(.AB no)72 170.08 R 21.753(yes Be)45 F (gin abstract.)-.135 E 37.503(.AE -)72 181.08 R 21.753(yes End)51.003 F (abstract.)2.25 E 40.005(.AI no)72 192.08 R 21.753(yes Author')45 F 2.25 (si)-.495 G(nstitution follo)-2.25 E 2.25(ws. Suppressed)-.225 F(in TM.) 2.25 E(.A)72 203.08 Q(U)-.495 E/F2 9/Times-Italic@0 SF 2.25(xy)2.25 G F1 42.75(no yes)24.507 F(Author')24.003 E 2.25(sn)-.495 G(ame follo)-2.25 E (ws.)-.225 E F2(x)4.5 E F1(is location and)2.25 E F2(y)2.25 E F1(is e) 2.25 E(xtension, ignored e)-.135 E(xcept in TM.)-.135 E 43.497(.B no)72 214.08 R 24.75(no Boldf)45 F(ace te)-.09 E(xt follo)-.135 E(ws.)-.225 E (.CS)72 225.08 Q F2(x...)3.701 E F1 51.003(-y)27.747 G 21.753(es Co) -51.003 F -.135(ve)-.135 G 3.701(rs).135 G 1.452 (heet info if TM format, suppressed otherwise.)-3.701 F(Ar)5.952 E 1.452 (guments are number of te)-.162 F(xt)-.135 E (pages, other pages, total pages, f)216 236.08 Q (igures, tables, references.)-.18 E(.D)72 247.08 Q(A)-.36 E F2(x)2.25 E F1(nrof)32.868 E 36.234(fn)-.225 G 27(o`)-36.234 G (Date line' at bottom of page is)-27 E F2(x)2.25 E F1 4.5(.D)C(ef)-4.5 E (ault is today)-.09 E(.)-.585 E 37.503(.DE -)72 258.08 R 21.753(yes End) 51.003 F(displayed te)2.25 E 2.25(xt. Implies)-.135 F(.KE.)2.25 E(.DS)72 269.08 Q F2(x)2.277 E F1 42.75(no yes)34.002 F .027 (Start of displayed te)24.003 F .026(xt, to appear v)-.135 F .026 (erbatim line-by-line.)-.135 F F2(x)4.526 E F1 .026 (=I for indented display \(def)B(ault\),)-.09 E F2(x)216 280.08 Q F1 (=L for left-justif)A(ied on the page,)-.18 E F2(x)2.25 E F1 (=C for centered.)A(Implies .KS.)4.5 E 37.503(.EN -)72 291.08 R 21.753 (yes Space)51.003 F(after equation produced by)2.25 E F2(eqn)2.25 E F1 (or)2.25 E F2(neqn.)2.25 E F1(.EQ)72 302.08 Q F2(x)2.25 E F1 51.003(-y) 33.507 G 21.753(es Space)-51.003 F(before equation.)2.25 E (Equation number is)4.5 E F2(x)2.25 E F1(.)A 38.997(.FE -)72 313.08 R 21.753(yes End)51.003 F(footnote.)2.25 E 39.492(.FS no)72 324.08 R 24.75 (no Start)45 F 2.25(footnote. The)2.25 F(note will be mo)2.25 E -.135 (ve)-.135 G 2.25(dt).135 G 2.25(ot)-2.25 G(he bottom of the page.)-2.25 E 36.504(.HO -)72 335.08 R 24.75(no `Bell)51.003 F (Laboratories, Holmdel, Ne)2.25 E 2.25(wJ)-.225 G(erse)-2.25 E 2.25(y0) -.135 G(7733'.)-2.25 E 46.503(.I no)72 346.08 R 24.75(no Italic)45 F(te) 2.25 E(xt follo)-.135 E(ws.)-.225 E(.IP)72 357.08 Q F2 2.25(xy)2.25 G F1 42.75(no yes)29.007 F(Start indented paragraph, with hanging tag)24.003 E F2(x)2.25 E F1 4.5(.I)C(ndentation is)-4.5 E F2(y)2.25 E F1(ens \(def) 2.25 E(ault 5\).)-.09 E 37.503(.KE -)72 368.08 R 21.753(yes End)51.003 F -.09(ke)2.25 G 2.25(ep. Put).09 F -.09(ke)2.25 G(pt te).09 E(xt on ne) -.135 E(xt page if not enough room.)-.135 E 37.998(.KF no)72 379.08 R 21.753(yes Start)45 F .464(floating k)2.714 F 2.714(eep. If)-.09 F .465 (the k)2.715 F .465(ept te)-.09 F .465(xt must be mo)-.135 F -.135(ve) -.135 G 2.715(dt).135 G 2.715(ot)-2.715 G .465(he ne)-2.715 F .465 (xt page, float later te)-.135 F .465(xt back)-.135 F(to this page.)216 390.08 Q 37.998(.KS no)72 401.08 R 21.753(yes Start)45 F -.09(ke)2.25 G (eping follo).09 E(wing te)-.225 E(xt.)-.135 E 37.503(.LG no)72 412.08 R 24.75(no Mak)45 F 2.25(el)-.09 G(etters lar)-2.25 E(ger)-.162 E(.)-.495 E 38.997(.LP yes)72 423.08 R 21.753(yes Start)42.003 F(left-block)2.25 E (ed paragraph.)-.09 E 35.001(.MH -)72 434.08 R 24.75(no `Bell)51.003 F (Laboratories, Murray Hill, Ne)2.25 E 2.25(wJ)-.225 G(erse)-2.25 E 2.25 (y0)-.135 G(7974'.)-2.25 E 36.504(.ND trof)72 445.08 R 38.232(fn)-.225 G 27(oN)-38.232 G 2.25(od)-27 G(ate line at bottom of page.)-2.25 E(.NH)72 456.08 Q F2(n)2.88 E F1 51.003(-y)32.004 G 21.753(es Same)-51.003 F .63 (as .SH, with section number supplied automatically)2.88 F 5.13(.N)-.585 G .63(umbers are multile)-5.13 F -.135(ve)-.225 G .63(l, lik).135 F(e) -.09 E(1.2.3, where)216 467.08 Q F2(n)2.25 E F1(tells what le)2.25 E -.135(ve)-.225 G 2.25(li).135 G 2.25(sw)-2.25 G(anted \(def)-2.34 E (ault is 1\).)-.09 E 37.503(.NL yes)72 478.08 R 24.75(no Mak)42.003 F 2.25(el)-.09 G(etters normal size.)-2.25 E 36.504(.OK -)72 489.08 R 21.753(yes `Other)51.003 F -.09(ke)2.25 G(yw)-.045 E(ords' for TM co) -.09 E -.135(ve)-.135 G 2.25(rs).135 G(heet follo)-2.25 E -.585(w.)-.225 G 39.492(.PP no)72 500.08 R 21.753(yes Be)45 F(gin paragraph.)-.135 E (First line indented.)4.5 E 43.497(.R yes)72 511.08 R 24.75(no Roman) 42.003 F(te)2.25 E(xt follo)-.135 E(ws.)-.225 E 37.998(.RE -)72 522.08 R 21.753(yes End)51.003 F(relati)2.25 E .27 -.135(ve i)-.225 H(ndent le) .135 E -.135(ve)-.225 G(l.).135 E 38.493(.RP no)72 533.08 R 33.003(-C)45 G -.135(ove)-33.003 G 2.25(rs).135 G(heet and f)-2.25 E (irst page for released paper)-.18 E 4.5(.M)-.495 G (ust precede other requests.)-4.5 E 38.493(.RS -)72 544.08 R 21.753 (yes Start)51.003 F(le)2.25 E -.135(ve)-.225 G 2.25(lo).135 G 2.25(fr) -2.25 G(elati)-2.25 E .27 -.135(ve i)-.225 H 2.25(ndentation. F).135 F (ollo)-.135 E(wing .IP')-.225 E 2.25(sm)-.495 G (easured from current indentation.)-2.25 E(.SG)72 555.08 Q F2(x)2.814 E F1 42.75(no yes)34.002 F .564 (Insert signature\(s\) of author\(s\), ignored e)24.003 F .564 (xcept in TM.)-.135 F F2(x)5.064 E F1 .564 (is the reference line \(initials of)2.814 F(author and typist\).)216 566.08 Q 37.998(.SH -)72 577.08 R 21.753(yes Section)51.003 F (head follo)2.25 E(ws, font automatically bold.)-.225 E 36.495(.SM no)72 588.08 R 24.75(no Mak)45 F 2.25(el)-.09 G(etters smaller)-2.25 E(.)-.495 E 38.502(.TL no)72 599.08 R 21.753(yes T)45 F(itle follo)-.315 E(ws.) -.225 E(.TM)72 610.08 Q F2 3.171(xyz)3.171 G F1 42.75(no -)16.836 F .921 (BTL TM co)33.003 F -.135(ve)-.135 G 3.17(rs).135 G .92(heet and f)-3.17 F .92(irst page,)-.18 F F2(x)3.17 E F1 .92(=TM number)B(,)-.36 E F2(y) 3.17 E F1 .92(=\(quoted list of\) case number\(s\),)B F2(z)216 621.08 Q F1(=f)A(ile number)-.18 E 4.5(.M)-.495 G(ust precede other requests.) -4.5 E 34.506(.WH -)72 632.08 R 24.75(no `Bell)51.003 F (Laboratories, Whippan)2.25 E 1.17 -.585(y, N)-.135 H .45 -.225(ew J) .585 H(erse).225 E 2.25(y0)-.135 G(7981'.)-2.25 E F0 2.5(-4-)297.67 767 S EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q(PLO)72 58 Q 1.666(T\(V)-.4 G -.834 (II \))-1.666 F 166.082(2/25/75 PLO)168.582 F 1.666(T\(V)-.4 G -.834 (II \))-1.666 F/F1 8/Times-Bold@0 SF -.16(NA)72 123.2 S(ME).16 E F0 (plot: openpl et al.)108 134.2 Q/F2 10/Symbol SF(-)2.5 E F0 (graphics interf)2.5 E(ace)-.1 E F1(SYNOPSIS)72 152.4 Q/F3 10 /Times-Bold@0 SF(openpl\( \))108 163.4 Q(erase\( \))108 179.44 Q (label\(s\))108 195.48 Q(char s[ ];)108 206.48 Q(line\(x1, y1, x2, y2\)) 108 222.52 Q(cir)108 238.56 Q(cle\(x, y)-.18 E 2.5(,r)-.55 G(\))-2.5 E (ar)108 254.6 Q(c\(x, y)-.18 E 2.5(,x)-.55 G(0, y0, x1, y1\))-2.5 E (dot\(x, y)108 270.64 Q 2.5(,d)-.55 G(x, n, patter)-2.5 E(n\))-.15 E (int patter)108 281.64 Q(n[ ];)-.15 E(mo)108 297.68 Q -.1(ve)-.1 G (\(x, y\)).1 E(point\(x, y\))108 313.72 Q(linemod\(s\))108 329.76 Q (char s[ ];)108 340.76 Q(space\(x0, y0, x1, y1\))108 356.8 Q (closepl\( \))108 372.84 Q F1(DESCRIPTION)72 396.08 Q F0 .87 (These subroutines generate graphic output in a relati)108 407.08 R -.15 (ve)-.25 G .871(ly de).15 F .871(vice-independent manner)-.25 F 5.871 (.S)-.55 G(ee)-5.871 E/F4 10/Times-Italic@0 SF(plot)3.371 E F0 .871 (\(VI\) for a)3.371 F(description of the meaning of the subroutines.)108 418.08 Q 1.439(There are four libraries containing these routines, one \ that produces general graphics commands on the)108 434.12 R .015(standa\ rd output, and one each for the vt0 storage scope, the Diablo plotting \ terminal and the T)108 445.12 R .016(ektronix 4014)-.7 F(terminal.)108 456.12 Q F4(Openpl)5.292 E F0 .291(must be used before an)2.792 F 2.791 (yo)-.15 G 2.791(ft)-2.791 G .291(he others to open the de)-2.791 F .291 (vice for writing.)-.25 F F4(Closepl)5.291 E F0 .291(flushes the)2.791 F (output.)108 467.12 Q F1(FILES)72 485.32 Q F0 15.88 (/usr/lib/plot.a produces)108 496.32 R(output for plotting f)2.5 E (ilters)-.2 E 18.66(/usr/lib/vt0.a produces)108 507.32 R (output on vt0 storage scope)2.5 E 14.77(/usr/lib/gsip.a produces)108 518.32 R(output on Diablo terminal)2.5 E 19.22(/usr/lib/tek.a produces) 108 529.32 R(output for the T)2.5 E(ektronix 4014 terminal)-.7 E F1 (SEE ALSO)72 547.52 Q F0(plot \(VI\), graph \(VI\))108 558.52 Q F1 -.08 (BU)72 576.72 S(GS).08 E F0 2.5(-5-)297.67 767 S EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q -.834(SALLOC \( VII \))72 58 R 151.792 (6/15/72 SALLOC)154.292 F 1.666(\(V)1.666 G -.834(II \))-1.666 F/F1 8 /Times-Bold@0 SF -.16(NA)72 123.2 S(ME).16 E F0(salloc)108 134.2 Q/F2 10 /Symbol SF(-)2.5 E F0(string allocation and manipulation)2.5 E F1 (SYNOPSIS)72 152.4 Q F0(\(get size in r0\))108 163.4 Q/F3 10 /Times-Bold@0 SF 21.84(jsr pc,allocate)108 174.4 R F0 (\(header address in r1\))108 185.4 Q (\(get source header address in r0,)108 201.44 Q (destination header address in r1\))108 212.44 Q F3 21.84(jsr pc,copy) 108 223.44 R 21.84(jsr pc,wc)108 239.48 R F0(\(all follo)108 255.52 Q (wing routines assume r1 contains header address\))-.25 E F3 21.84 (jsr pc,r)108 271.56 R(elease)-.18 E F0(\(get character in r0\))108 287.6 Q F3 21.84(jsr pc,putchar)108 298.6 R 21.84(jsr pc,lookchar)108 314.64 R F0(\(character in r0\))108 325.64 Q F3 21.84(jsr pc,getchar)108 341.68 R F0(\(character in r0\))108 352.68 Q(\(get character in r0\))108 368.72 Q F3 21.84(jsr pc,alter)108 379.72 R(char)-.18 E F0 (\(get position in r0\))108 395.76 Q F3 21.84(jsr pc,seekchar)108 406.76 R 21.84(jsr pc,backspace)108 422.8 R F0(\(character in r0\))108 433.8 Q (\(get w)108 449.84 Q(ord in r0\))-.1 E F3 21.84(jsr pc,putw)108 460.84 R(ord)-.1 E 21.84(jsr pc,lookw)108 476.88 R(ord)-.1 E F0(\(w)108 487.88 Q(ord in r0\))-.1 E F3 21.84(jsr pc,getw)108 503.92 R(ord)-.1 E F0(\(w) 108 514.92 Q(ord in r0\))-.1 E(\(get w)108 530.96 Q(ord in r0\))-.1 E F3 21.84(jsr pc,alterw)108 541.96 R(ord)-.1 E 21.84(jsr pc,backw)108 558 R (ord)-.1 E F0(\(w)108 569 Q(ord in r0\))-.1 E F3 21.84(jsr pc,length)108 585.04 R F0(\(length in r0\))108 596.04 Q F3 21.84(jsr pc,position)108 612.08 R F0(\(position in r0\))108 623.08 Q F3 21.84(jsr pc,r)108 639.12 R(ewind)-.18 E 21.84(jsr pc,cr)108 655.16 R(eate)-.18 E 21.84 (jsr pc,fsf)108 671.2 R(ile)-.25 E 21.84(jsr pc,zer)108 687.24 R(o)-.18 E F1(DESCRIPTION)72 705.44 Q F0 1.222(This package is a complete set of\ routines for dealing with almost arbitrary length strings of w)108 716.44 R 1.222(ords and)-.1 F 2.798(bytes. It)108 727.44 R(li)2.798 E -.15(ve)-.25 G 2.798(si).15 G(n)-2.798 E/F4 10/Times-Italic@0 SF (/lib/libs.a.)2.797 E F0 .297(The strings are stored on a disk f)5.297 F .297(ile, so the sum of their lengths can be consid-)-.2 F 2.5(-6-) 297.67 774.44 S EP %%Page: 7 7 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-)72 11 Q -.834(SALLOC \( VII \))72 58 R 151.792 (6/15/72 SALLOC)154.292 F 1.666(\(V)1.666 G -.834(II \))-1.666 F (erably lar)108 105 Q(ger than the a)-.18 E -.25(va)-.2 G(ilable core.) .25 E 2.5(As)5 G(mall b)-2.5 E(uf)-.2 E(fer cache mak)-.25 E (es for reasonable speed.)-.1 E -.15(Fo)108 121.04 S 2.538(re).15 G .038 (ach string there is a header of four w)-2.538 F .039 (ords, namely a write pointer)-.1 F 2.539(,ar)-.4 G .039 (ead pointer and pointers to the be-)-2.539 F .461 (ginning and end of the block containing the string.)108 132.04 R .461 (Initially the read and write pointers point to the be)5.461 F(gin-)-.15 E .742(ning of the string.)108 143.04 R .742 (All routines that refer to a string require the header address in r1.) 5.742 F .742(Unless the string is)5.742 F(destro)108 154.04 Q .714(yed \ by the call, upon return r1 will point to the same string, although the\ string may ha)-.1 F 1.014 -.15(ve g)-.2 H(ro).15 E .714(wn to)-.25 F (the e)108 165.04 Q(xtent that it had to be be mo)-.15 E -.15(ve)-.15 G (d.).15 E/F1 10/Times-Italic@0 SF(Allocate)108 181.08 Q F0(obtains a st\ ring of the requested size and returns a pointer to its header in r1.) 2.5 E F1(Release)108 197.12 Q F0 (releases a string back to free storage.)2.5 E F1(Putc)108 213.16 Q(har) -.15 E F0(and)2.5 E F1(putwor)2.5 E(d)-.37 E F0(write a byte or w)2.5 E (ord respecti)-.1 E -.15(ve)-.25 G(ly into the string and adv).15 E (ance the write pointer)-.25 E(.)-.55 E F1(Lookc)108 229.2 Q(har)-.15 E F0(and)2.82 E F1(lookwor)2.82 E(d)-.37 E F0 .32(read a byte or w)2.82 F .32(ord respecti)-.1 F -.15(ve)-.25 G .321(ly from the string b).15 F .321(ut do not adv)-.2 F .321(ance the read point-)-.25 F(er)108 240.2 Q (.)-.55 E F1(Getc)108 256.24 Q(har)-.15 E F0(and)2.5 E F1 -.1(ge)2.5 G (twor).1 E(d)-.37 E F0(read a byte or w)2.5 E(ord respecti)-.1 E -.15 (ve)-.25 G(ly from the string and adv).15 E(ance the read pointer)-.25 E (.)-.55 E F1(Alter)108 272.28 Q -.15(ch)-.37 G(ar).15 E F0(and)2.883 E F1(alterwor)2.883 E(d)-.37 E F0 .383(write a byte or w)2.883 F .382 (ord respecti)-.1 F -.15(ve)-.25 G .382 (ly into the string where the read pointer is pointing).15 F(and adv)108 283.28 Q(ance the read pointer)-.25 E(.)-.55 E F1(Bac)108 299.32 Q (kspace)-.2 E F0(and)2.5 E F1(bac)2.5 E(kwor)-.2 E(d)-.37 E F0 (read the last byte or w)2.5 E (ord written and decrement the write pointer)-.1 E(.)-.55 E .551 (All write operations will automatically get a lar)108 315.36 R .551 (ger block if the current block is e)-.18 F 3.052(xceeded. All)-.15 F .552(read opera-)3.052 F (tions return with the error bit set if attempting to read be)108 326.36 Q(yond the write pointer)-.15 E(.)-.55 E F1(Seekc)108 342.4 Q(har)-.15 E F0(mo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he read pointer to the of)-2.5 E (fset specif)-.25 E(ied in r0.)-.2 E F1(Length)108 358.44 Q F0 (returns the current length of the string \(be)2.5 E (ginning pointer to write pointer\) in r0.)-.15 E F1 -.8(Po)108 374.48 S (sition).8 E F0(returns the current of)2.5 E (fset of the read pointer in r0.)-.25 E F1(Re)108 390.52 Q(wind)-.15 E F0(mo)2.5 E -.15(ve)-.15 G 2.5(st).15 G(he read pointer to the be)-2.5 E (ginning of the string.)-.15 E F1(Cr)108 406.56 Q(eate)-.37 E F0 (returns the read and write pointers to the be)2.5 E (ginning of the string.)-.15 E F1(Fsf)108 422.6 Q(ile)-.2 E F0(mo)2.5 E -.15(ve)-.15 G 2.5(st).15 G (he read pointer to the current position of the write pointer)-2.5 E(.) -.55 E F1(Zer)108 438.64 Q(o)-.45 E F0 (zeros the whole string and sets the write pointer to the be)2.5 E (ginning of the string.)-.15 E F1(Copy)108 454.68 Q F0 .02(copies the s\ tring whose header pointer is in r0 to the string whose header pointer \ is in r1.)2.52 F .019(Care should)5.019 F .335(be tak)108 465.68 R .335 (en in using the cop)-.1 F 2.835(yi)-.1 G .335(nstruction since r1 will\ be changed if the contents of the source string is bigger)-2.835 F (than the destination string.)108 476.68 Q F1(Wc)108 492.72 Q F0 (forces the contents of the internal b)2.5 E(uf)-.2 E (fers and the header blocks to be written on disc.)-.25 E .108 (An in-core v)108 508.76 R .108(ersion of this allocator e)-.15 F .108 (xists in)-.15 F F1(dc)2.608 E F0 .108(\(I\), and a permanent-f)2.608 F .108(ile v)-.2 F .108(ersion e)-.15 F .108(xists in)-.15 F F1(form)2.608 E F0(and)2.608 E F1(fed)2.607 E F0(\(VI\).)2.607 E/F2 8/Times-Bold@0 SF (FILES)72 526.96 Q F0 31.99(/lib/libs.a library)108 537.96 R 2.5(,a)-.65 G(ccessed by)-2.5 E F1(ld ... -ls)2.5 E F0 42.56(alloc.d temporary)108 548.96 R -.2(fi)2.5 G(le for string storage).2 E F2(SEE ALSO)72 567.16 Q F0(alloc \(III\))108 578.16 Q F2(DIA)72 596.36 Q(GNOSTICS)-.44 E F0 (`error in cop)108 607.36 Q(y')-.1 E/F3 10/Symbol SF(-)2.5 E F0 (disk write error encountered in)2.5 E F1(copy)2.5 E(.)-.55 E F0 (`error in allocator')108 618.36 Q F3(-)2.5 E F0 (routine called with bad header pointer)2.5 E(.)-.55 E (`cannot open output f)108 629.36 Q(ile')-.2 E F3(-)2.5 E F0(temp f)2.5 E(ile)-.2 E F1(alloc.d)2.5 E F0(cannot be created or opened.)2.5 E (`out of space')108 640.36 Q F3(-)2.5 E F0(no suf)2.5 E -.2(fi)-.25 G (ciently lar).2 E(ge block or no header is a)-.18 E -.25(va)-.2 G (ilable for a ne).25 E 2.5(wo)-.25 G 2.5(rg)-2.5 G(ro)-2.5 E (wing block.)-.25 E F2 -.08(BU)72 658.56 S(GS).08 E F0 2.5(-7-)297.67 767 S EP %%Trailer end %%EOF