%!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Fri Sep 13 13:08:06 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 /Times-Bold 1 AEnc-def pop /B-1{/Times-Bold-1 FF}def /I{/Times-Italic FF}def %%EndProlog %%Page: 1 1 BP /slant 0 def /height 0 def 480 V 10 R 720(TTY)S 925(\()S 967(4)S 1025(\))S 2696(Eighth)S (Edition)296 2989 A 4922(TTY)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(tty,)S 1236(termios)S 10 R-1 1563(-)S 10 R 1645(terminals)S 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 1266(tty)S 10 R 1413(driver)S 1683(family)S 1975(takes)S 2212(care)S 2411(of)S 2525(all)S 2656(user)S (input)206 2854 A 3090(and)S 3265(output.)S 3601(It)S (governs)318 3693 A 4041(the)S (keyboard,)399 4194 A 4623(the)S 4776(console,)S 5138(the)S 1488 V 1080(serial)S 1334(lines,)S 1584(and)S (pseudo)284 1764 A 2083(ttys.)S (Input)212 2313 A 2560(on)S 2694(any)S 2873(of)S 2991(these)S 3232(devices)S (undergoes)413 3568 A ("input)247 4015 A 4296(processing",)S 4826(and)S 5005(output)S 1608 V (undergoes)413 1080 A 1518("output)S 1840(processing")S (according)397 2336 A 2758(to)S 2861(the)S 3009(standard)S 3375(termios)S 3702(terminal)S (interface.)379 4063 A 1776 V 870(I)S 872(In)S 908(np)S 960(pu)S 1012(ut)S 1064(t)S 1119(p)S 1121(pr)S 1173(ro)S 1209(oc)S 1261(ce)S 1308(es)S 1355(ss)S 1396(si)S 1437(in)S 1467(ng)S 1519(g)S 1896 V 1080(Each)S 1318(terminal)S 1690(device)S 1989(has)S 2159(an)S (input)206 2290 A 2532(queue.)S 2858(This)S 3073(queue)S 3349(is)S 3452(used)S 3672(to)S 3787(store)S 4020(preprocessed)S (input)206 4583 A 4826(characters,)S 2016 V 1080(and)S 1256(to)S 1365(perform)S 1721(the)S 1875(backspacing)S 2403(and)S 2579(erase)S 2818(functions.)S 3273(Some)S 3533(special)S 3844(characters)S 4285(like)S 4466(a)S 4541(newline)S 4890(make)S 5138(the)S 2136 V 1080(contents)S 1444(of)S 1557(the)S 1709(queue)S 1978(available)S 2371(to)S 2478(a)S 2552(process)S 2883(reading)S 3214(from)S 3439(the)S 3591(terminal.)S 4007(Characters)S 4469(up)S 4599(to)S 4707(and)S 4882(including)S 2256 V 1080(the)S 1231(newline,)S 1603(or)S 1715(another)S 2045(so-called)S 2437("line)S 2656(break",)S 2973(may)S 3173(be)S 3295(read)S 3496(by)S 3623(a)S 3695(process.)S 4074(The)S 4258(process)S 4587(need)S 4804(not)S 4959(read)S 5160(all)S 2376 V 1080(characters)S 1523(at)S 1629(once.)S 1902(An)S (input)206 2058 A 2297(line)S 2481(may)S 2687(be)S 2815(read)S 3022(byte)S 3228(by)S 3362(byte)S 3569(if)S 3665(one)S 3844(wants)S 4113(to.)S 4275(A)S 4382(line)S 4567(break)S 4825(just)S 5004(makes)S 2496 V 1080(characters)S 1515(available)S 1904(for)S 2047(reading,)S 2399(thats)S 2614(all.)S 2664 V 1080(When)S 1358(data)S 1564(is)S 1669(made)S 1925(available)S 2327(depends)S 2694(on)S 2832(whether)S 3195(the)S 3357(tty)S 3502(is)S 3608(in)S (canonical)386 3725 A 4150(mode)S 4412(or)S 4535(not.)S 4752(In)S (canonical)386 4875 A 2784 V 1080(mode)S 1331(the)S 1482(terminal)S 1845(processes)S (input)206 2258 A 2491(line)S 2669(by)S 2796(line.)S 3024(A)S 3124(line)S 3302(ends)S 3513(with)S 3719(a)S 3791(newline)S 4137(\()S 10 B 4171(NL)S 10 R 4311(\),)S 4397(end-of-\256le)S 4850(\()S 10 B 4884(EOF)S 10 R 5091(\),)S 5177(or)S 2904 V 1080(end-of-line)S 1554(\()S 10 B 1588(EOL)S 10 R 1800(\).)S 1910(Characters)S 2369(that)S 2547(have)S 2764(not)S 2919(been)S 3136(delimited)S 3543(by)S 3670(such)S 3881(a)S 3953(line)S 4131(break)S 4382(may)S 4582(be)S 4704(erased)S 4989(one)S 5161(by)S 3024 V 1080(one)S 1255(with)S 1464(the)S 10 B 1617(ERASE)S 10 R 1983(character)S 2384(or)S 2498(all)S 2629(at)S 2732(once)S 2951(with)S 3159(the)S 10 B 3311(KILL)S 10 R 3591(character.)S 4041(Once)S 4283(a)S 4357(line)S 4537(break)S 4790(is)S 4886(typed)S 5138(the)S 3144 V 1080(characters)S 1529(become)S 1881(available)S 2285(to)S 2403(a)S 2488(reading)S 2830(process)S 3172(and)S 3357(can)S 3537(no)S (longer)257 3677 A 3974(be)S 4109(erased.)S 4457(Once)S 4710(read)S 4924(they)S 5137(are)S 3264 V 1080(removed)S 1459(from)S 1682(the)S (input)206 1832 A 2065(queue.)S 2382(Several)S 2712(lines)S 2929(may)S 3129(be)S 3251(gathered)S 3625(in)S 3730(the)S (input)206 3880 A 4113(queue)S 4380(if)S 4469(no)S 4596(reader)S 4876(is)S 4970(present)S 3384 V 1080(to)S 1191(read)S 1398(them,)S 1657(but)S 1818(a)S 1896(new)S 2097(reader)S (will)157 2383 A 2573(only)S (receive)292 2784 A 3109(one)S 3287(line.)S 3521(Two)S 3739(line)S 3923(breaks)S 4219(are)S 4376(never)S 4634(returned)S 5004(in)S 5116(one)S 3504 V 1080(read)S 1281(call.)S 1504(The)S (input)206 1688 A 1921(queue)S 2188(has)S 2349(a)S 2421(maximum)S 2855(length)S 3133(of)S 10 B (MAX_CANON)661 3244 A 10 R 3932(characters.)S 4419(Any)S 4618(more)S 4851(characters)S 3624 V 1080(are)S 1243(discarded.)S 1718(One)S 1925(must)S 2159(use)S 10 B 2332(ERASE)S 10 R 2707(or)S 10 B 2830(KILL)S 10 R 3120(to)S 3237(make)S 3494(the)S 3656(terminal)S 4031(functioning)S 4533(again)S 4790(if)S 4892(the)S (input)206 5055 A 3744 V 1080(queue)S 1353(\256lls)S 1537(up.)S 1720(If)S (nonblocking)501 1821 A 2355(I/O)S 2523(is)S 2623(set)S 2768(then)S 10 R-1 2974(-)S 10 R 3031(1)S 3114(is)S 3214(returned)S 3583(with)S 10 B (errno)241 3795 A 10 R 4069(set)S 4214(to)S 10 B 4324(EAGAIN)S 10 R 4759(if)S 4853(the)S 5008(reader)S 3864 V 1080(would)S 1356(otherwise)S 1773(be)S 1893(blocked.)S 4032 V 1080(In)S (non-canonical)570 1197 A 1800(mode)S 2057(\(raw)S 2277(mode)S 2534(for)S 2686(short\))S 2955(all)S 3090(characters)S 3534(are)S 3692(immediately)S 4229(available)S 4627(to)S 4739(the)S 4896(reader)S 5183(in)S 4152 V 1080(principle.)S 1524(One)S 1728(may)S 1937(however)S 2319(tune)S 2527(the)S 2685(terminal)S 3056(to)S 3169(bursty)S (input)206 3455 A 3696(with)S 3910(the)S 10 B 4068(MIN)S 10 R 4310(and)S 10 B 4490(TIME)S 10 R 4793(parameters,)S 4272 V 1080(see)S 1238(the)S 1390(raw)S 1572(I/O)S 1737(parameters)S 2210(section)S 2525(below.)S 2851(In)S 2965(raw)S 3147(mode)S 3400(no)S 3530(characters)S 3970(are)S 4124(discarded)S 4540(if)S 4632(the)S (input)206 4785 A 5021(queue)S 4392 V 1080(threatens)S 1469(to)S 1572(over\257ow)S 1955(if)S 2042(the)S 2190(device)S (supports)340 2478 A 2843(\257ow)S 3047(control.)S 4560 V 870(O)S 872(Ou)S 947(ut)S 999(tp)S 1029(pu)S 1081(ut)S 1133(t)S 1188(p)S 1190(pr)S 1242(ro)S 1278(oc)S 1330(ce)S 1377(es)S 1424(ss)S 1465(si)S 1506(in)S 1536(ng)S 1588(g)S 4680 V 1080(Characters)S (written)286 1537 A 1848(to)S 1951(a)S 2021(terminal)S 2382(device)S 2670(may)S (undergo)329 2868 A 3223(output)S 3505(processing,)S 3986(which)S 4258(is)S 4351(usually)S 4667(just)S 4838(inserting)S 5216(a)S 4800 V 1080(carriage)S 1436(returns)S 1745(before)S 2032(newlines.)S 2469(A)S 2571(writer)S 2842(may)S 3044(return)S 3314(before)S 3601(all)S 3731(characters)S 4170(are)S 4323(output)S 4608(if)S 4699(the)S 4851(characters)S 4920 V 1080(can)S 1253(be)S 1381(stored)S 1660(in)S 1771(the)S 1927(output)S 2216(buffers.)S 2585(If)S 2686(not)S 2847(then)S 3053(the)S 3209(writer)S 3484(may)S 3690(be)S 3818(blocked)S (until)184 4169 A (space)224 4386 A 4644(is)S 4745(available.)S 5193(If)S 5040 V (non-blocking)535 1080 A 1642(I/O)S 1804(is)S 1898(set)S 2037(then)S 2236(only)S 2440(the)S (count)223 2589 A 2838(of)S 2948(the)S 3097(number)S 3430(of)S 3540(bytes)S 3778(that)S 3955(can)S 4121(be)S 4242(processed)S 4665(immediately)S 5194(is)S 5160 V 1080(returned.)S 1491(If)S 1584(no)S 1709(characters)S 2144(can)S 2309(be)S (written)286 2429 A 2740(at)S 2838(all)S 2964(then)S 10 R-1 3162(-)S 10 R 3219(1)S 3294(is)S 3386(returned)S 3747(with)S 10 B (errno)241 3951 A 10 R 4217(set)S 4354(to)S 10 B 4457(EAGAIN)S 10 R 4860(.)S 5328 V 870(S)S 872(Sp)S 930(pe)S 982(ec)S 1029(ci)S 1076(ia)S 1106(al)S 1153(l)S 1208(c)S 1210(ch)S 1257(ha)S 1309(ar)S 1356(ra)S 1392(ac)S 1439(ct)S 1486(te)S 1516(er)S 1563(rs)S 1599(s)S 5448 V 1080(Some)S 1345(characters)S 1791(have)S 2017(special)S 2333(functions)S 2743(in)S 2857(some)S 3105(of)S 3226(the)S 3386(terminal)S 3759(modes.)S 4108(These)S 4386(characters)S 4833(are)S 4994(as)S 5115(fol-)S 5568 V 1080(lows,)S 1320(with)S 1524(the)S 1672(Minix)S 1942(defaults)S 2286(shown)S 2573(in)S 2676(parentheses:)S 5736 V 10 B 1080(INTR)S 10 R 1357(\(\303?\))S 5856 V 1330(Special)S (input)206 1657 A 1893(character)S 2294(that)S 2475(is)S (recognized)442 2573 A 3046(if)S 10 B 3139(ISIG)S 10 R 3382(is)S 3480(set.)S 3673(\(For)S 10 B 3878(ISIG)S 10 R 4121(and)S 4297(other)S 4535(\257ags)S 4756(see)S 4916(the)S 5070(vari-)S 5976 V 1330(ous)S 1498(modes)S 1788(sections)S 2140(below.\))S 2498(It)S 2588(causes)S 2879(a)S 10 B 2952(SIGINT)S 10 R 3332(signal)S 3600(to)S 3706(be)S 3829(sent)S 4019(to)S 4125(all)S 4254(processes)S 4668(in)S 4774(the)S 4925(terminal)S 6096 V 1330(process)S (group.)259 1657 A 1966(\(See)S 2171(the)S 2319(section)S 2629(on)S 2754(session)S 3069(leaders)S 3380(below.\))S 6264 V 10 B 1080(QUIT)S 10 R 1362(\(\303\\\))S 6384 V 1330(Special)S (input)206 1657 A 1893(character)S 2294(if)S 10 B 2386(ISIG)S 10 R 2628(is)S 2725(set.)S 2917(Causes)S 3232(a)S 10 B 3307(SIGQUIT)S 10 R 3767(signal)S 4037(to)S 4145(be)S 4270(sent)S 4463(to)S 4572(the)S 4726(terminal)S 5093(pro-)S 6504 V 1330(cess)S (group.)259 1523 A 6672 V 10 B 1080(ERASE)S 10 R 1441(\(\303H\))S 6792 V 1330(Special)S (input)206 1652 A 1883(character)S 2279(if)S 10 B (ICANON)409 2366 A 10 R 2800(is)S 2892(set.)S 3079(Erases)S 3368(the)S 3516(last)S 3681(character)S 4077(in)S 4180(the)S 4328(current)S 4639(line.)S 6960 V 10 B 1080(KILL)S 10 R 1356(\(\303U\))S 7080 V 1330(Special)S (input)206 1652 A 1883(character)S 2279(if)S 10 B (ICANON)409 2366 A 10 R 2800(is)S 2892(set.)S 3079(Erases)S 3368(the)S 3516(entire)S 3771(line.)S 7248 V 10 B 1080(EOF)S 10 R 1312(\(\303D\))S 7368 V 1330(Special)S (input)206 1653 A 1885(character)S 2282(if)S 10 B (ICANON)409 2370 A 10 R 2805(is)S 2898(set.)S 3086(It)S 3174(is)S 3267(a)S 3338(line)S 3515(break)S 3766(character)S 4164(that)S 4342(is)S 4436(not)S 4591(itself)S 4820(returned)S 5183(to)S 7488 V 1330(a)S 1401(reader.)S 1730(If)S 1824(EOF)S 2041(is)S 2134(typed)S 2383(with)S 2588(no)S (input)206 2714 A 2946(present)S 3263(then)S 3462(the)S 3611(read)S 3810(returns)S 4115(zero,)S 4339(which)S 4610(normally)S 4998(causes)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(TTY)S 925(\()S 967(4)S 1025(\))S 2696(Eighth)S (Edition)296 2989 A 4922(TTY)S 5127(\()S 5169(4)S 5227(\))S 960 V 1330(the)S 1478(reader)S 1756(to)S 1859(assume)S 2180(that)S 2356(end-of-\256le)S 2807(is)S (reached.)339 2899 A 1128 V 10 B 1080(CR)S 10 R 1251(\(\303M\))S 1248 V 1330(Special)S (input)206 1660 A 1899(character)S 2303(if)S 10 B (IGNCR)336 2398 A 10 R 2767(or)S 10 B (ICRNL)325 2884 A 10 R 3242(is)S 3342(set.)S 3537(It)S 3632(is)S 3732(a)S 3810(carriage)S 4169(return)S (\('\\r'\).)223 4443 A 4724(If)S 10 B (IGNCR)336 4825 A 10 R 5194(is)S 1368 V 1330(set)S 1469(then)S 10 B 1669(CR)S 10 R 1842(is)S 1936(discarded.)S 2399(If)S 10 B (ICRNL)325 2493 A 10 R 2844(is)S 2937(set)S 3075(and)S 10 B (IGNCR)336 3246 A 10 R 3608(is)S 3701(not)S 3855(set)S 3993(then)S 10 B 4192(CR)S 10 R 4364(is)S 4457(changed)S 4818(into)S 5000(an)S 10 B 5121(NL)S 1488 V 10 R 1330(and)S 1500(has)S 1659(the)S 1807(same)S 2039(function)S 2399(as)S 10 B 2508(NL.)S 1656 V 1080(NL)S 10 R 1245(\(\303J\))S 1776 V 1330(Special)S (input)206 1652 A 1883(character)S 2279(if)S 10 B (ICANON)409 2366 A 10 R 2800(is)S 2892(set.)S 3079(It)S 3166(is)S 3258(both)S 3461(a)S 3531(newline)S 3875(\('\\n'\))S 4114(and)S 4284(a)S 4354(line)S 4530(break.)S 1896 V 1330(Special)S 1658(output)S 1945(character)S 2347(if)S 10 B 2440(OPOST)S 10 R 2812(and)S 10 B 2988(ONLCR)S 10 R 3383(are)S 3539(set.)S 3733(A)S 10 B 3838(CR)S 4016(NL)S 10 R 4188(sequence)S 4589(is)S 4688(output)S 4976(instead)S 2016 V 1330(of)S 1439(just)S 10 B 1609(NL)S 10 R 1749(.)S 1824(\(Minix)S 2128(speci\256c,)S 2486(but)S 2639(almost)S 2932(mandatory)S 3387(on)S 3512(any)S 3682(UNIX-like)S 4145(system.\))S 2184 V 10 B 1080(TAB)S 10 R (\(\303I\))136 1312 A 2304 V 1330(Special)S 1655(character)S 2054(on)S 2182(output)S 2466(if)S 10 B 2556(OPOST)S 10 R 2925(and)S 10 B 3098(XTABS)S 10 R 3462(are)S 3614(set.)S 3804(It)S 3894(is)S 3989(transformed)S 4504(into)S 4689(the)S 4841(number)S 5177(of)S 2424 V (spaces)263 1330 A (necessary)392 1624 A 2047(to)S (reach)219 2156 A 2406(a)S 2482(column)S (position)323 2814 A 3168(that)S 3350(is)S 3448(a)S (multiple)335 3524 A 3890(of)S 4005(eight.)S 4286(\(Only)S 4551(needed)S 4866(for)S 5014(termi-)S 2544 V 1330(nals)S (without)307 1517 A 1849(hardware)S 2250(tabs.\))S 2712 V 10 B 1080(EOL)S 10 R (\(undefined\))470 1317 A 2832 V 1330(Special)S (input)206 1652 A 1883(character)S 2279(if)S 10 B (ICANON)409 2366 A 10 R 2800(is)S 2892(set.)S 3079(It)S 3166(is)S 3258(an)S (additional)402 3378 A 3805(line)S 3981(break.)S 3000 V 10 B 1080(SUSP)S 10 R 1352(\(\303Z\))S 3120 V 1330(Special)S (input)206 1655 A 1889(character)S 2288(if)S 2378(job)S 2534(control)S 2847(is)S 2943(implemented)S 3497(and)S 10 B 3671(ISIG)S 10 R 3912(is)S 4008(set.)S 4199(It)S 4290(causes)S 4582(a)S 10 B 4656(SIGTSTP)S 10 R 5110(sig-)S 3240 V 1330(nal)S 1478(to)S 1581(be)S 1701(send)S 1910(to)S 2013(the)S 2161(terminal)S 2522(process)S (group.)259 2849 A 3158(\(Minix)S 3462(does)S 3671(not)S 3824(have)S 4039(job)S 4192(control.\))S 3408 V 10 B 1080(STOP)S 10 R 1368(\(\303S\))S 3528 V 1330(Special)S (input)206 1652 A 1883(character)S 2279(if)S 10 B 2366(IXON)S 10 R 2654(is)S 2746(set.)S 2933(It)S 3020(suspends)S 3407(terminal)S 3768(output)S 4049(and)S 4219(is)S 4311(then)S 4509(discarded.)S 3696 V 10 B 1080(START)S 10 R 1441(\(\303Q\))S 3816 V 1330(Special)S 1662(output)S 1953(character)S 2359(if)S 10 B 2456(IXON)S 10 R 2754(is)S 2856(set.)S 3054(It)S 3152(starts)S 3401(terminal)S 3773(output)S 4065(if)S 4163(suspended)S 4617(and)S 4798(is)S 4901(then)S 5110(dis-)S 3936 V 1330(carded.)S 1675(If)S 10 B (IXANY)331 1769 A 10 R 2126(is)S 2219(also)S 2407(set)S 2545(then)S 2743(any)S 2913(other)S 3145(character)S 3541(also)S 3728(starts)S 3966(terminal)S 4327(output,)S 4633(but)S 4786(they)S 4984(are)S 5133(not)S 4056 V 1330(discarded.)S 4224 V 10 B 1080(REPRINT)S 10 R 1559(\(\303R\))S 4344 V 1330(Special)S (input)206 1661 A 1901(character)S 2306(if)S 10 B 2402(IEXTEN)S 10 R 2822(and)S 10 B 3001(ECHO)S 10 R 3331(are)S 3489(set.)S 3685(Reprints)S 4060(the)S (input)206 4217 A 4457(queue)S 4732(from)S 4963(the)S 5121(last)S 4464 V 1330(line)S 1507(break)S 1757(onwards.)S 2174(A)S 2273(reprint)S 2568(also)S 2756(happens)S 3111(automatically)S 3685(if)S 3773(the)S 3922(echoed)S (input)206 4233 A 4465(has)S 4625(been)S 4840(messed)S 5161(up)S 4584 V 1330(by)S 1455(other)S 1687(output)S 1968(and)S 10 B 2138(ERASE)S 10 R 2499(is)S 2591(typed.)S 4752 V 10 B 1080(LNEXT)S 10 R 1452(\(\303V\))S 4872 V 1330(Special)S (input)206 1661 A 1901(character)S 2306(if)S 10 B 2402(IEXTEN)S 10 R 2823(is)S 2925(set.)S 3122(It)S 3219(is)S 3321(the)S ("literal)277 3479 A 3791(next")S 4040(character)S 4446(that)S 4632(causes)S 4930(the)S 5088(next)S 4992 V 1330(character)S 1726(to)S 1829(be)S (input)206 1949 A (without)307 2180 A 2512(any)S 2682(special)S 2987(processing.)S 5160 V 10 B (DISCARD)460 1080 A 10 R 1565(\(\303O\))S 5280 V 1330(Special)S (input)206 1658 A 1895(character)S 2297(if)S 10 B 2390(IEXTEN)S 10 R 2807(is)S 2906(set.)S 3100(Causes)S 3417(output)S 3705(to)S 3815(be)S 3942(discarded)S (until)184 4360 A 4576(it)S 4664(is)S 4763(typed)S 5018(again.)S 5400 V 1330(\(Implemented)S 1920(only)S (under)229 2123 A 2377(Minix-vmd.\))S 5568 V 1080(All)S 1240(of)S 1355(these)S 1593(characters)S 2034(except)S 10 B 2328(CR)S 10 R 2474(,)S 10 B 2530(NL)S 10 R 2701(and)S 10 B 2877(TAB)S 10 R 3115(may)S 3319(be)S 3445(changed)S 3811(or)S 3926(disabled)S (under)229 4293 A 4554(Minix.)S 4881(\(Changes)S 5688 V 1080(to)S 10 B 1200(START)S 10 R 1578(and)S 10 B 1765(STOP)S 10 R 2069(may)S 2283(be)S (ignored)307 2419 A (under)229 2767 A 3037(other)S 3285(termios)S 3628(implementations.\))S 4423(The)S 10 B 4621(REPRINT)S 10 R 5116(and)S 5808 V 10 B 1080(LNEXT)S 10 R 1452(characters)S 1887(are)S 2037(Minix)S 2308(extensions)S 2758(that)S 2935(are)S 3085(commonly)S 3540(present)S 3857(in)S 3961(other)S 4194(implementations.)S 8 R 4935(POSIX)S 10 R 5194(is)S 5928 V 1080(unclear)S 1405(on)S 1533(whether)S 10 B 1886(IEXTEN,)S (IGNCR)336 2325 A 10 R 2689(and)S 10 B (ICRNL)325 2862 A 10 R (should)267 3215 A 3510(be)S 3632(active)S 3900(in)S (non-canonical)570 4005 A 4602(mode,)S 4877(but)S (under)229 5032 A 6048 V 1080(Minix)S 1350(they)S 1548(are.)S 6216 V 870(T)S 872(Te)S 936(er)S 983(rm)S 1019(mi)S 1099(in)S 1129(na)S 1181(al)S 1228(l)S 1283(a)S 1285(at)S 1332(tt)S 1362(tr)S 1392(ri)S 1428(ib)S 1458(bu)S 1510(ut)S 1562(te)S 1592(es)S 1639(s)S 6336 V 1080(The)S 1267(attributes)S 1672(of)S 1786(a)S 1861(terminal,)S 2252(such)S 2466(as)S 2581(whether)S 2937(the)S 3091(mode)S (should)267 3345 A 3643(be)S (canonical)386 3769 A 4186(or)S (non-canonical,)595 4301 A 4927(are)S 5082(con-)S 6456 V 1080(trolled)S 1368(by)S 1493(routines)S 1842(that)S 2018(use)S 2177(the)S 10 B 2325(termios)S 10 R 2675(structure)S 3053(as)S 3162(de\256ned)S 3483(in)S 10 B 3586()S 10 R 4106(:)S 6624 V 1440(struct)S 1689(termios)S 2016({)S 6744 V 1640(tc\257ag_t)S 2140(c_i\257ag;)S 2890(/*)S (input)206 2993 A 3224(modes)S 3511(*/)S 6864 V 1640(tc\257ag_t)S 2140(c_o\257ag;)S 2890(/*)S 2993(output)S 3274(modes)S 3561(*/)S 6984 V 1640(tc\257ag_t)S 2140(c_c\257ag;)S 2890(/*)S 2993(control)S 3303(modes)S 3590(*/)S 7104 V 1640(tc\257ag_t)S 2140(c_l\257ag;)S 2890(/*)S 2993(local)S 3214(modes)S 3501(*/)S 7224 V 1640(speed_t)S 2140(c_ispeed;)S 2890(/*)S (input)206 2993 A 3224(speed)S 3478(*/)S 7344 V 1640(speed_t)S 2140(c_ospeed;)S 2890(/*)S 2993(output)S 3274(speed)S 3528(*/)S 7464 V 1640(cc_t)S 2140(c_cc[NCCS];)S 2890(/*)S 2993(control)S 3303(characters)S 3738(*/)S 7903 V 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(TTY)S 925(\()S 967(4)S 1025(\))S 2696(Eighth)S (Edition)296 2989 A 4922(TTY)S 5127(\()S 5169(4)S 5227(\))S 960 V 1440(};)S 1128 V 1080(The)S 1262(types)S 10 B 1499(tc\257ag)S 10 R 1734(,)S 10 B 1784(speed_t)S 10 R 2134(and)S 10 B 2304(cc_t)S 10 R 2503(are)S 2652(de\256ned)S 2973(in)S 10 B 3076()S 10 R 3621(as)S 3730(unsigned)S 4117(integral)S 4450(types.)S 1296 V 870(I)S 872(In)S 908(np)S 960(pu)S 1012(ut)S 1064(t)S 1119(M)S 1121(Mo)S 1212(od)S 1264(de)S 1316(es)S 1363(s)S 1416 V 1080(The)S 10 B 1262(c_i\257ag)S 10 R 1566(\256eld)S 1770(contains)S 2130(the)S 2278(following)S 2694(single)S 2959(bit)S 3090(\257ags)S 3305(that)S 3481(control)S (input)206 3791 A 4022(processing:)S 1584 V 10 B (ICRNL)325 1080 A 1704 V 10 R 1330(Map)S 10 B 1539(CR)S 10 R 1710(to)S 10 B 1813(NL)S 10 R 1978(on)S (input.)231 2103 A 1872 V 10 B (IGNCR)336 1080 A 1992 V 10 R (Ignore)263 1330 A 10 B 1618(CR)S 10 R 1789(on)S (input.)231 1914 A 2195(This)S 2399(\257ag)S 2575(overrides)S 10 B (ICRNL)325 2975 A 10 R 3300(.)S 2160 V 10 B 1080(INLCR)S 2280 V 10 R 1330(Map)S 10 B 1539(NL)S 10 R 1704(to)S 10 B 1807(CR)S 10 R 1978(on)S (input.)231 2103 A 2384(This)S 2588(is)S (done)195 2680 A 2900(after)S 3111(the)S 10 B (IGNCR)336 3259 A 10 R 3620(check.)S 2448 V 10 B 1080(IXON)S 2568 V 10 R 1330(Enable)S 1635(start/stop)S 2029(output)S 2310(control.)S 2736 V 10 B 1080(IXOFF)S 2856 V 10 R 1330(Enable)S 1635(start/stop)S (input)206 2029 A 2260(control.)S 2620(\(Not)S 2830(implemented.\))S 3024 V 10 B (IXANY)331 1080 A 3144 V 10 R 1330(Allow)S 1607(any)S 1777(character)S 2173(to)S 2276(restart)S 2554(output.)S 2885(\(Minix)S 3189(speci\256c.\))S 3312 V 10 B 1080(ISTRIP)S 3432 V 10 R 1330(Strip)S 1551(characters)S 1986(to)S 2089(seven)S 2343(bits.)S 3600 V 10 B 1080(IGNPAR)S 3720 V 10 R (Ignore)263 1330 A 1618(characters)S 2053(with)S 2257(parity)S 2517(errors.)S 2828(\(Not)S 3038(implemented.\))S 3888 V 10 B 1080(INPCK)S 4008 V 10 R 1330(Enable)S (input)206 1635 A 1866(parity)S 2126(checking.)S 2564(\(Not)S 2774(implemented.\))S 4176 V 10 B 1080(PARMRK)S 4296 V 10 R 1330(Mark)S 1585(parity)S 1857(errors)S 2130(by)S (preceding)397 2268 A 2703(the)S 2864(faulty)S 3137(character)S 3546(with)S ('\\377',)271 3763 A 4072('\\0'.)S 4306(The)S 4501(character)S ('\\377')246 4910 A 5194(is)S 4416 V (preceded)364 1330 A 1719(by)S 1844(another)S ('\\377')246 2171 A 2442(to)S 2545(avoid)S 2793(ambiguity.)S 3275(\(Not)S 3485(implemented.\))S 4584 V 10 B 1080(BRKINT)S 4704 V 10 R 1330(Send)S 1564(the)S 1720(signal)S 10 B 1993(SIGINT)S 10 R 2378(to)S 2489(the)S 2645(terminal)S 3014(process)S (group)234 3349 A 3616(when)S (receiving)375 3867 A 4276(a)S 4355(break)S (condition.)404 4613 A 5076(\(Not)S 4824 V 1330(implemented.\))S 4992 V 10 B 1080(IGNBRK)S 5112 V 10 R (Ignore)263 1330 A 1623(break)S (condition.)404 1877 A 2336(If)S 2434(neither)S 10 B 2744(BRKINT)S 10 R 3171(or)S 10 B 3285(IGNBRK)S 10 R 3723(is)S 3820(set)S 3962(a)S 4038(break)S 4293(is)S (input)206 4391 A 4628(as)S 4743(a)S 4819(single)S 5090('\\0',)S 5232 V 1330(or)S 1439(if)S 10 B 1526(PARMRK)S 10 R 2005(is)S 2097(set)S 2234(as)S ('\\377',)271 2343 A 2639('\\0',)S 2835('\\0'.)S 3056(\(Breaks)S 3395(are)S 3544(always)S (ignored.\))366 3849 A 5400 V 870(O)S 872(Ou)S 947(ut)S 999(tp)S 1029(pu)S 1081(ut)S 1133(t)S 1188(M)S 1190(Mo)S 1281(od)S 1333(de)S 1385(es)S 1432(s)S 5520 V 1080(The)S 10 B 1262(c_o\257ag)S 10 R 1588(\256eld)S 1792(contains)S 2152(the)S 2300(following)S 2716(single)S 2981(bit)S 3112(\257ags)S 3327(that)S 3503(control)S 3813(output)S 4094(processing:)S 5688 V 10 B 1080(OPOST)S 5808 V 10 R 1440(Perform)S 1810(output)S 2105(processing.)S 2624(This)S 2842(\257ag)S 3033(is)S 3140(the)S 3303("main)S 3585(switch")S 3929(on)S 4069(output)S 4365(processing.)S 4885(All)S 5054(other)S 5928 V 1440(\257ags)S 1655(are)S 1804(Minix)S 2074(speci\256c.)S 6096 V 10 B 1080(ONLCR)S 6216 V 10 R 1440(Transform)S 1902(an)S 10 B 2033(NL)S 10 R 2209(to)S 2323(a)S 10 B 2404(CR)S 2586(NL)S 10 R 2762(sequence)S 3167(on)S 3303(output.)S 3645(Note)S 3877(that)S 4064(a)S 4145(key)S 4326(labeled)S 4654("RETURN")S 5177(or)S 6336 V 1440("ENTER")S 1876(usually)S 2194(sends)S 2445(a)S 10 B 2518(CR)S 10 R 2664(.)S 2742(In)S 2854(line)S 3033(oriented)S 3391(mode)S 3641(this)S 3813(is)S 3907(normally)S 4297(transformed)S 4811(into)S 10 B 4994(NL)S 10 R 5161(by)S 6456 V 10 B (ICRNL)325 1440 A 10 R 1765(.)S 10 B 1846(NL)S 10 R 2017(is)S 2115(the)S 2269(normal)S 2585(UNIX)S 2870(line)S 3053(delimiter)S 3449(\('\\n'\).)S 3745(On)S 3900(output)S 4188(an)S 10 B 4315(NL)S 10 R 4487(is)S 4586(transformed)S 5105(into)S 6576 V 1440(the)S 10 B 1600(CR)S 1782(NL)S 10 R 1958(sequence)S 2363(that)S 2550(is)S (necessary)392 2653 A 3081(to)S (reach)219 3195 A 3450(the)S 3609(\256rst)S 3802(column)S 4139(of)S 4259(the)S 4418(next)S 4627(line.)S 4864(\(This)S 5113(is)S 5216(a)S 6696 V 1440(common)S 1819(output)S 2103(processing)S 2561(function)S 2924(for)S 3070(UNIX-like)S 3536(systems,)S 3907(but)S 4063(not)S 4219(always)S 4527(separately)S 4964(switch-)S 6816 V 1440(able)S 1633(by)S 1758(an)S 10 B 1878(ONLCR)S 10 R 2267(\257ag.\))S 6984 V 10 B 1080(XTABS)S 7104 V 10 R 1440(Transform)S 1902(a)S 10 B 1983(TAB)S 10 R 2226(into)S 2419(the)S 2579(number)S 2923(of)S (spaces)263 3044 A (necessary)392 3344 A 3773(to)S (reach)219 3888 A 4144(a)S 4226(column)S (position)323 4564 A 4924(that)S 5112(is)S 5216(a)S 7224 V (multiple)335 1440 A 1800(of)S 1909(eight.)S 7392 V 10 B 1080(ONOEOT)S 7512 V 10 R 1440(Discard)S 10 B 1779(EOT)S 10 R 2016(\(\303D\))S 2216(characters.)S 2701(\(Minix-vmd)S 3217(only.\))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(TTY)S 925(\()S 967(4)S 1025(\))S 2696(Eighth)S (Edition)296 2989 A 4922(TTY)S 5127(\()S 5169(4)S 5227(\))S 960 V 870(C)S 872(Co)S 941(on)S 993(nt)S 1045(tr)S 1075(ro)S 1111(ol)S 1163(l)S 1218(M)S 1220(Mo)S 1311(od)S 1363(de)S 1415(es)S 1462(s)S 1080 V 1080(The)S 10 B 1262(c_c\257ag)S 10 R 1583(\256eld)S 1787(contains)S 2147(the)S 2295(following)S 2711(single)S 2976(bit)S 3107(\257ags)S 3322(and)S 3492(bit)S 3623(\256eld)S 3827(for)S 3970(basic)S 4202(hardware)S 4603(control:)S 1248 V 10 B 1080(CLOCAL)S 1368 V 10 R (Ignore)263 1440 A 1728(modem)S 2054(status)S 2308(lines.)S 1536 V 10 B 1080(CREAD)S 1656 V 10 R 1440(Enable)S (receiver.)351 1745 A 2146(\(The)S (receiver)326 2362 A 2713(is)S 2805(always)S 3110(enabled.\))S 1824 V 10 B 1080(CSIZE)S 10 R 1440(Number)S 1799(of)S 1912(bits)S 2087(per)S 2246(byte.)S 10 B 2499(CSIZE)S 10 R 2831(masks)S 3112(off)S 3260(the)S 3413(values)S 10 B 3700(CS5)S 10 R 3879(,)S 10 B 3934(CS6)S 10 R 4113(,)S 10 B 4168(CS7)S 10 R 4377(and)S 10 B 4552(CS8)S 10 R 4761(that)S 4942(indicate)S 1944 V 1440(that)S 1616(5,)S 1716(6,)S 1816(7)S 1891(or)S 2000(8)S 2075(bits)S 2245(are)S 2394(used.)S 2112 V 10 B 1080(CSTOPB)S 2232 V 10 R 1440(Send)S 1666(two)S 1842(stop)S 2034(bits)S 2204(instead)S 2514(of)S 2623(one.)S 2843(Two)S 3053(stop)S 3245(bits)S 3415(are)S 3564(normally)S 3952(used)S 4161(at)S (110)150 4259 A 4434(baud)S 4654(or)S 4763(less.)S 2400 V 10 B 1080(PARENB)S 2520 V 10 R 1440(Enable)S 1745(parity)S 2005(generation.)S 2688 V 10 B 1080(PARODD)S 2808 V 10 R 1440(Generate)S (odd)150 1830 A 2005(parity)S 2265(if)S 2352(parity)S 2612(is)S 2704(generated,)S 3146(otherwise)S 3563(even)S 3778(parity.)S 2976 V 10 B 1080(HUPCL)S 3096 V 10 R 1440(Drop)S 1672(the)S 1820(modem)S 2146(control)S 2456(lines)S 2671(on)S 2796(the)S 2944(last)S 3109(close)S 3341(of)S 3450(the)S 3598(terminal)S 3959(line.)S 4185(\(Not)S 4395(implemented.\))S 3264 V 870(L)S 872(Lo)S 936(oc)S 988(ca)S 1035(al)S 1082(l)S 1137(M)S 1139(Mo)S 1230(od)S 1282(de)S 1334(es)S 1381(s)S 3384 V 1080(The)S 10 B 1262(c_l\257ag)S 10 R 1566(\256eld)S 1770(contains)S 2130(the)S 2278(following)S 2694(single)S 2959(bit)S 3090(\257ags)S 3305(that)S 3481(control)S 3791(various)S 4112(functions:)S 3552 V 10 B 1080(ECHO)S 10 R 1440(Enable)S 1758(echoing)S 2114(of)S (input)206 2236 A 2481(characters.)S 2980(Most)S (input)206 3225 A 3470(characters)S 3919(are)S 4082(echoed)S 4406(as)S 4529(they)S 4741(are.)S 4954(Control)S 3672 V 1440(characters)S 1893(are)S 2060(echoed)S 2388(as)S 10 B 2515(\303)S 10 I 2549(X)S 10 R 2654(where)S 10 I 2944(X)S 10 R 3049(is)S 3159(the)S 3324(letter)S 3574(used)S 3800(to)S 3920(say)S 4096(that)S 4289(the)S 4454(control)S 4781(character)S 5194(is)S 3792 V 10 B 1440(CTRL)S 10 B-1 1720(-)S 10 I 1777(X)S 10 R 1839(.)S 1919(The)S 10 B 2106(CR)S 10 R 2252(,)S 10 B 2307(NL)S 10 R 2477(and)S 10 B 2652(TAB)S 10 R 2890(characters)S 3331(are)S 3486(echoed)S 3802(with)S 4012(their)S 4228(normal)S 4544(effect)S 4806(unless)S 5088(they)S 3912 V 1440(are)S 1589(escaped)S 1933(by)S 10 B 2058(LNEXT)S 10 R 2405(.)S 4080 V 10 B 1080(ECHOE)S 4200 V 10 R 1440(If)S 10 B (ICANON)409 1548 A 10 R 1997(and)S 10 B 2182(ECHO)S 10 R 2518(are)S 2682(set)S 2834(then)S 3047(echo)S 10 B 3277(ERASE)S 10 R 3653(and)S 10 B 3838(KILL)S 10 R 4129(as)S 4254(one)S 4440(or)S 4565(more)S (backspace-)448 4813 A 4320 V (space-backspace)672 1440 A 2141(sequences)S 2578(to)S 2685(wipe)S 2910(out)S 3067(the)S 3219(last)S 3388(character)S 3788(or)S 3901(the)S 4053(entire)S 4312(line,)S 4516(otherwise)S 4936(they)S 5137(are)S 4440 V 1440(echoed)S 1750(as)S 1859(they)S 2057(are.)S 4608 V 10 B (ECHOK)374 1080 A 4728 V 10 R 1440(If)S 10 B (ICANON)409 1544 A 10 R 1990(and)S 10 B 2172(ECHO)S 10 R 2505(are)S 2666(set)S 2815(and)S 10 B 2997(ECHOE)S 10 R 3397(is)S 3501(not)S 3666(set)S 3815(then)S 4025(output)S 4318(an)S 10 B 4450(NL)S 10 R 4627(after)S 4850(the)S 10 B 5010(KILL)S 4848 V 10 R 1440(character.)S 1886(\(For)S (hardcopy)374 2085 A 2484(terminals)S 2884(it)S 2965(is)S 3057(best)S 3244(to)S 3347(unset)S 10 B 3584(ECHOE)S 10 R 3972(and)S 4142(to)S 4245(set)S 10 B (ECHOK)374 4382 A 10 R 4756(.\))S 5016 V 10 B 1080(ECHONL)S 5136 V 10 R 1440(Echo)S 10 B 1672(NL)S 10 R 1837(even)S 2052(if)S 10 B 2139(ECHO)S 10 R 2460(is)S 2552(not)S 2705(set,)S 2867(but)S 10 B (ICANON)409 3020 A 10 R 3454(is)S 3546(set.)S 5304 V 10 B (ICANON)409 1080 A 5424 V 10 R (Canonical)408 1440 A (input.)231 1873 A 2154(This)S 2358(enables)S 2685(line)S 2861(oriented)S (input)206 3216 A 3447(and)S 3617(erase)S 3850(and)S (kill)134 4020 A 4179(processing.)S 5592 V 10 B 1080(IEXTEN)S 5712 V 10 R 1440(Enable)S 1745(implementation)S 2401(de\256ned)S (input)206 2722 A 2953(extensions.)S 5880 V 10 B 1080(ISIG)S 10 R 1440(Enable)S 1745(the)S 1893(signal)S 2158(characters)S 10 B 2593(INTR)S 10 R 2845(,)S 10 B 2895(QUIT)S 10 R 3177(and)S 10 B 3347(SUSP)S 10 R 3594(.)S 6048 V 10 B 1080(NOFLSH)S 6168 V 10 R 1440(Disable)S 1773(the)S 1921(\257ushing)S 2269(of)S 2378(the)S (input)206 2526 A 2757(and)S 2927(output)S 3208(queues)S 3512(that)S 3688(is)S 3780(normally)S (done)195 4168 A 4388(if)S 4475(a)S 4545(signal)S 4810(is)S 4902(sent.)S 6336 V 10 B 1080(TOSTOP)S 6456 V 10 R 1440(Send)S 1683(a)S 10 B 1770(SIGTTOU)S 10 R 2270(signal)S 2552(if)S 2656(job)S 2826(control)S 3153(is)S 3262(implemented)S 3829(and)S 4016(a)S (background)474 4104 A 4621(process)S 4966(tries)S 5183(to)S 6576 V 1440(write.)S 1723(\(Minix)S 2027(has)S 2186(no)S 2311(job)S 2464(control.\))S 6744 V 870(I)S 872(In)S 908(np)S 960(pu)S 1012(ut)S 1064(t)S 1119(a)S 1121(an)S 1168(nd)S 1220(d)S 1297(o)S 1299(ou)S 1351(ut)S 1403(tp)S 1433(pu)S 1485(ut)S 1537(t)S 1592(s)S 1594(sp)S 1635(pe)S 1687(ee)S 1734(ed)S 1781(d)S 6864 V 1080(The)S (input)206 1271 A 1511(and)S 1690(output)S 1980(speed)S 2243(are)S 2401(encoded)S 2770(into)S 2960(the)S 10 B 3118(c_ispeed)S 10 R 3517(and)S 10 B 3697(c_ospeed)S 10 R 4118(\256elds.)S 10 B 4421()S 10 R 4976(de\256nes)S 6984 V 1080(the)S 1245(symbols)S 10 B 1621(B0)S 10 R 1738(,)S 10 B 1805(B50)S 10 R 1972(,)S 10 B 2039(B75)S 10 R 2206(,)S 10 B (B110)217 2272 A 10 R 2489(,)S 10 B (B134)217 2555 A 10 R 2772(,)S 10 B (B150)217 2838 A 10 R 3055(,)S 10 B (B200)217 3121 A 10 R 3338(,)S 10 B (B300)217 3404 A 10 R 3621(,)S 10 B (B600)217 3687 A 10 R 3904(,)S 10 B (B1200)267 3970 A 10 R 4237(,)S 10 B (B1800)267 4303 A 10 R 4570(,)S 10 B (B2400)267 4636 A 10 R 4903(,)S 10 B (B4800)267 4969 A 10 R 5236(,)S 7104 V 10 B (B9600)267 1080 A 10 R 1347(,)S 10 B (B19200)317 1406 A 10 R 1723(,)S 10 B (B38400)317 1782 A 10 R 2099(,)S 10 B (B57600)317 2158 A 10 R 2509(and)S 10 B (B115200)367 2688 A 10 R 3089(as)S 3207(values)S 3498(used)S 3716(to)S 3828(indicate)S 4182(the)S 4340(given)S 4598(baud)S 4828(rates.)S 5104(The)S 7224 V 1080(zero)S 1287(baud)S 1515(rate,)S 10 B 1725(B0)S 10 R 1842(,)S 1900(if)S 1995(used)S 2212(for)S 2363(the)S (input)206 2519 A 2757(speed)S 3018(causes)S 3313(the)S (input)206 3468 A 3706(speed)S 3967(to)S 4077(be)S 4204(equal)S 4454(to)S 4564(the)S 4719(output)S 5007(speed.)S 7344 V (Setting)285 1080 A 1414(the)S 1586(output)S 1891(speed)S 2169(to)S 2296(zero)S 2519(hangs)S 2802(up)S 2951(the)S 3124(line.)S 3375(One)S (should)267 3593 A 3910(use)S 4094(the)S 4267(functions)S 10 B 4691(cfgetispeed\(\))S 10 R 5236(,)S 7464 V 10 B 1080(cfgetospeed\(\))S 10 R 1647(,)S 10 B 1727(cfsetispeed\(\))S 10 R 2316(and)S 10 B 2516(cfsetospeed\(\))S 10 R 3127(to)S 3260(get)S 3437(or)S 3575(set)S 3741(a)S 3840(speed,)S (because)319 4148 A 4521(the)S 10 B 4698(c_ispeed)S 10 R 5116(and)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(TTY)S 925(\()S 967(4)S 1025(\))S 2696(Eighth)S (Edition)296 2989 A 4922(TTY)S 5127(\()S 5169(4)S 5227(\))S 960 V 10 B 1080(c_ospeed)S 10 R 1500(\256elds)S 1752(may)S 1960(not)S 2123(be)S 2253(visible)S (under)229 2556 A 2820(other)S 3062(implementations.)S 3817(\(The)S 10 B 4043(c_ispeed)S 10 R 4442(and)S 10 B 4622(c_ospeed)S 10 R 5043(\256elds)S 1080 V 1080(and)S 1250(the)S 10 B (B57600)317 1398 A 10 R 1740(and)S 10 B (B115200)367 1910 A 10 R 2302(symbols)S 2661(are)S 2810(Minix)S 3080(speci\256c.\))S 1248 V 870(S)S 872(Sp)S 930(pe)S 982(ec)S 1029(ci)S 1076(ia)S 1106(al)S 1153(l)S 1208(c)S 1210(ch)S 1257(ha)S 1309(ar)S 1356(ra)S 1392(ac)S 1439(ct)S 1486(te)S 1516(er)S 1563(rs)S 1599(s)S 1368 V 1080(The)S 10 B 1263(c_cc)S 10 R 1474(array)S 1708(contains)S 2069(the)S 2218(special)S 2524(characters)S 2961(that)S 3139(can)S 3306(be)S 3428(modi\256ed.)S 3862(The)S 4046(array)S 4281(has)S 4442(length)S 10 B (NCCS)275 4720 A 10 R 5022(and)S 5194(is)S 1488 V 1080(subscripted)S 1574(by)S 1710(the)S 1869(symbols)S 10 B 2239(VEOF)S 10 R 2519(,)S 10 B 2580(VEOL)S 10 R 2865(,)S 10 B 2926(VERASE)S 10 R 3335(,)S 10 B 3396(VINTR)S 10 R 3721(,)S 10 B 3781(VKILL)S 10 R 4105(,)S 10 B 4165(VMIN)S 10 R 4445(,)S 10 B 4505(VQUIT)S 10 R 4835(,)S 10 B 4895(VTIME)S 10 R 5236(,)S 1608 V 10 B 1080(VSUSP)S 10 R 1400(,)S 10 B 1479(VSTART)S 10 R 1888(,)S 10 B 1967(VSTOP)S 10 R 2303(,)S 10 B 2382(VREPRINT)S 10 R 2909(,)S 10 B 2989(VLNEXT)S 10 R 3464(and)S 10 B (VDISCARD)533 3664 A 10 R 4197(.)S 4302(All)S 4486(these)S 4748(symbols)S 5137(are)S 1728 V 1080(de\256ned)S 1408(in)S 10 B 1518()S 10 R 2038(.)S 2120(Some)S 2381(implementations)S 3082(may)S 3286(give)S 3490(the)S 3644(same)S 3882(values)S 4170(to)S 4279(the)S 10 B 4433(VMIN)S 10 R 4744(and)S 10 B 4920(VTIME)S 1848 V 10 R 1080(subscripts)S 1512(and)S 1687(the)S 10 B 1840(VEOF)S 10 R 2150(and)S 10 B 2325(VEOL)S 10 R 2641(subscripts)S 3074(respectively,)S 3617(and)S 3793(may)S (ignore)257 3997 A 4285(changes)S 4640(to)S 10 B 4749(START)S 10 R 5116(and)S 1968 V 10 B 1080(STOP)S 10 R 1343(.)S 1418(\(Under)S 1729(Minix)S 1999(all)S 2125(special)S 2430(characters)S 2865(have)S 3080(there)S 3307(own)S 10 I 3505(c_cc)S 10 R 3715(slot)S 3885(and)S 4055(can)S 4220(all)S 4346(be)S 4466(modi\256ed.\))S 2136 V 870(R)S 872(Ra)S 941(aw)S 988(w)S 1088(I)S 1090(I/)S 1126(/O)S 1156(O)S 1256(P)S 1258(Pa)S 1316(ar)S 1363(ra)S 1399(am)S 1446(me)S 1526(et)S 1573(te)S 1603(er)S 1650(rs)S 1686(s)S 2256 V 1080(The)S 10 B 1286(MIN)S 10 R 1542(and)S 10 B 1736(TIME)S 10 R 2053(parameters)S 2545(can)S 2734(be)S 2879(used)S 3113(to)S 3241(adjust)S 3531(a)S 3626(raw)S (connection)441 3828 A 4319(to)S 4447(bursty)S (input.)231 4748 A 10 B 5054(MIN)S 2376 V 10 R 1080(represents)S 1526(a)S 1608(minimum)S 2035(number)S 2379(of)S 2500(bytes)S 2749(that)S 2936(must)S 3167(be)S (received)342 3298 A 3676(before)S 3970(a)S 4051(read)S 4261(call)S 4443(returns.)S 10 B 4809(TIME)S 10 R 5113(is)S 5216(a)S 2496 V 1080(timer)S 1318(of)S 1427(0.1)S (second)279 1577 A 1881(granularity)S 2348(that)S 2524(can)S 2689(be)S 2810(used)S 3020(to)S 3124(time)S 3329(out)S 3483(a)S 3554(read.)S (Setting)285 3804 A 4115(either)S 4371(of)S 4481(these)S 4714(parameters)S 5183(to)S 2616 V 1080(zero)S 1279(has)S 1438(special)S 1743(meaning,)S 2139(which)S 2410(leads)S 2642(to)S 2745(the)S 2893(following)S 3309(four)S (possibilities:)508 3502 A 2784 V 10 B 1080(MIN)S 1312(>)S 1394(0,)S 1494(TIME)S 1787(>)S 1869(0)S 2904 V 1330(TIME)S 10 R 1642(is)S 1753(an)S 1892(inter-byte)S 2328(timer)S 2585(that)S 2780(is)S 2891(started)S 3204(\(and)S 3427(restarted\))S 3853(when)S 4115(a)S 4204(byte)S 4421(is)S (received.)367 4532 A 4969(A)S 5087(read)S 3024 V (succeeds)358 1330 A 1720(when)S 1970(either)S 2232(the)S 2387(minimum)S 2809(number)S 3148(of)S 3264(characters)S 3706(is)S (received)342 3805 A 4179(or)S 4295(the)S 4449(timer)S 4693(expires.)S 5065(Note)S 3144 V 1330(that)S 1506(the)S 1654(timer)S 1892(starts)S 10 B 2130(after)S 10 R 2363(the)S 2511(\256rst)S 2693(character,)S 3114(so)S 3228(the)S 3376(read)S 3575(returns)S 3880(at)S 3978(least)S 4188(one)S 4358(byte.)S 3312 V 10 B 1080(MIN)S 1312(>)S 1394(0,)S 1494(TIME)S 1787(=)S 1869(0)S 3432 V 10 R 1330(Now)S 1567(the)S 1731(timer)S 1985(is)S 2093(disabled,)S 2495(and)S 2682(a)S 2769(reader)S 3064(blocks)S 3368(inde\256nitely)S (until)184 3868 A 4094(at)S 4209(least)S 10 B 4436(MIN)S 10 R 4685(characters)S 5137(are)S 3552 V (received.)367 1330 A 3720 V 10 B 1080(MIN)S 1312(=)S 1394(0,)S 1494(TIME)S 1787(>)S 1869(0)S 3840 V 1330(TIME)S 10 R 1623(is)S 1715(now)S 1913(a)S 1983(read)S 2182(timer)S 2420(that)S 2596(is)S 2688(started)S 2982(when)S 3225(a)S 3295(read)S 3494(is)S 3586(executed.)S 4019(The)S 4201(read)S (will)157 4400 A 4583(return)S 4850(if)S 4938(the)S 5087(read)S 3960 V 1330(timer)S 1577(expires)S 1902(or)S 2020(if)S 2116(at)S 2223(least)S 2442(one)S 2621(byte)S 2828(is)S (input.)231 2929 A 3219(\(Note)S 3483(that)S 3668(a)S 3747(value)S 3999(of)S 4117(zero)S 4324(may)S 4530(be)S 4658(returned)S 5027(to)S 5138(the)S 4080 V 1330(reader.\))S 4248 V 10 B 1080(MIN)S 1312(=)S 1394(0,)S 1494(TIME)S 1787(=)S 1869(0)S 4368 V 10 R 1330(The)S 1512(bytes)S 1749(currently)S 2138(available)S 2527(are)S 2676(returned.)S 3087(Zero)S 3303(is)S 3395(returned)S 3756(if)S 3843(no)S 3968(bytes)S 4205(are)S 4354(available.)S 4536 V 870(U)S 872(Us)S 947(se)S 988(er)S 1035(r)S 1096(L)S 1098(Le)S 1162(ev)S 1209(ve)S 1261(el)S 1308(l)S 1363(F)S 1365(Fu)S 1423(un)S 1475(nc)S 1527(ct)S 1574(ti)S 1604(io)S 1634(on)S 1686(ns)S 1738(s)S 4656 V 1080(Termios)S 1447(attributes)S 1853(are)S 2008(set)S 2151(or)S 2266(examined,)S 2713(and)S 2889(special)S 3200(functions)S 3605(can)S 3776(be)S 3902(performed)S 4353(by)S 4484(using)S 4732(the)S 4887(functions)S 4776 V 1080(described)S 1491(in)S 10 B 1594(termios)S 10 R 1919(\(2\).)S 4944 V 870(S)S 872(Se)S 930(es)S 977(ss)S 1018(si)S 1059(io)S 1089(on)S 1141(n)S 1218(L)S 1220(Le)S 1284(ea)S 1331(ad)S 1378(de)S 1430(er)S 1477(rs)S 1513(s)S 1579(a)S 1581(an)S 1628(nd)S 1680(d)S 1757(P)S 1759(Pr)S 1817(ro)S 1853(oc)S 1905(ce)S 1952(es)S 1999(ss)S 2040(s)S 2106(G)S 2108(Gr)S 2183(ro)S 2219(ou)S 2271(up)S 2323(ps)S 2375(s)S 5064 V 1080(With)S 1311(the)S 1464(use)S 1628(of)S 1742(the)S 10 B 1895(setsid\(\))S 10 R 2234(function)S 2599(can)S 2769(a)S 2845(process)S 3178(become)S 3522(a)S 3598(session)S 3919(leader.)S 4247(A)S 4351(session)S 4672(leader)S 4950(forms)S 5216(a)S 5184 V 1080(process)S (group)234 1412 A 1676(with)S 1885(a)S 1960(process)S (group)234 2292 A 2556(id)S 2664(equal)S 2912(to)S 3020(the)S 3173(process)S 3505(id)S 3613(of)S 3727(the)S 3879(session)S 4198(leader.)S 4524(If)S 4621(a)S 4695(session)S 5014(leader)S 5304 V 1080(opens)S 1340(a)S 1411(terminal)S 1774(device)S 2064(\256le)S 2220(then)S 2420(this)S 2592(terminal)S 2955(becomes)S 3334(the)S (controlling)441 3484 A 3952(tty)S 4085(of)S 4196(the)S 4346(session)S 4663(leader.)S 4987(Unless)S 5424 V 1080(the)S 1232(terminal)S 1597(is)S 1692(already)S 2017(the)S (controlling)441 2168 A 2637(tty)S 2771(of)S 2883(another)S 3213(process,)S 3568(or)S 3680(unless)S 3959(the)S 10 B 4110(O_NOCTTY)S 10 R 4697(\257ag)S 4876(is)S 4971(used)S 5183(to)S 5544 V 1080(prevent)S 1410(the)S 1561(allocation)S 1986(of)S 2098(a)S (controlling)441 2171 A 2640(tty.)S 2824(The)S 3009(process)S (group)234 3339 A 3601(of)S 3713(the)S 3864(session)S 4183(leader)S 4459(is)S 4555(now)S 4757(remembered)S 5664 V 1080(as)S 1190(the)S 1339(terminal)S 1701(process)S (group)234 2029 A 2289(for)S 2433(signals)S 2738(sent)S 2925(by)S 3050(the)S 3198(terminal)S 3559(driver.)S 3875(All)S 4029(the)S 4177(children)S 4532(and)S 4702(grandchildren)S 5784 V 1080(of)S 1197(the)S 1353(session)S 1676(leader)S 1956(inherit)S 2252(the)S (controlling)441 2408 A 2882(terminal)S 3252(and)S 3431(process)S (group)234 3767 A (until)184 4035 A 4253(they)S 4460(themselves)S 4941(use)S 10 B 5109(set-)S 5904 V 1080(sid\(\))S 10 R 1271(.)S 6072 V 1080(The)S (controlling)441 1269 A 1742(tty)S 1880(becomes)S (inaccessible)487 2264 A 2783(to)S 2893(the)S 3048(children)S 3410(of)S 3526(the)S 3681(session)S 4004(leader)S 4284(when)S 4535(the)S 4691(session)S 5014(leader)S 6192 V 1080(exits,)S 1322(and)S 1494(a)S (hangup)295 1566 A 1888(signal)S 2155(is)S 2249(sent)S 2438(to)S 2543(all)S 2671(the)S 2821(members)S 3217(of)S 3327(the)S 3476(process)S (group.)259 3804 A 4114(The)S (input)206 4297 A 4529(and)S 4700(output)S 4982(queues)S 6312 V 1080(are)S 1229(\257ushed)S 1544(on)S 1669(the)S 1817(last)S 1982(close)S 2214(of)S 2323(a)S 2393(terminal)S 2754(and)S 2924(all)S 3050(attributes)S 3450(are)S 3599(reset)S 3815(to)S 3918(the)S 4066(default)S 4371(state.)S 6480 V 1080(A)S 1180(special)S 1487(device)S 10 B 1777(/dev/tty)S 10 R 2129(is)S 2223(a)S (synonym)367 2295 A 2689(for)S 2834(the)S (controlling)441 2984 A 3453(tty)S 3587(of)S 3699(a)S 3772(process.)S 4152(It)S 4242(allows)S 4533(a)S 4606(process)S 4936(to)S (reach)219 5042 A 6600 V 1080(the)S 1229(terminal)S 1591(even)S 1807(when)S 2051(standard)S (input,)231 2418 A 2675(output)S 2957(and)S 3128(error)S 3351(are)S 3501(redirected.)S 3981(Opening)S 4353(this)S 4524(device)S 4813(can)S 4979(also)S 5166(be)S 6720 V 1080(used)S 1289(as)S 1398(a)S 1468(test)S 1633(to)S 1736(see)S 1890(if)S 1977(a)S 2047(process)S 2374(has)S 2533(a)S (controlling)441 2603 A 3069(tty)S 3200(or)S 3309(not.)S 6888 V 1080(For)S 1251(Minix)S 1527(a)S 1603(special)S 1914(write-only)S 2365(device)S 10 B 2659(/dev/log)S 10 R 3026(exists)S 3287(for)S 3437(processes)S 3855(that)S 4038(want)S 4266(to)S 4376(write)S 4616(messages)S 5028(to)S 5138(the)S 7008 V 1080(system)S 1384(console.)S 1766(Unlike)S 2065(the)S 2213(console)S 2545(this)S 2715(device)S 3003(is)S (still)151 3095 A (accessible)409 3271 A 3705(when)S 3948(a)S 4018(session)S 4333(leader)S 4605(exits.)S 7176 V 1080(Minix-vmd)S 1572(also)S 1769(has)S 1938(a)S 10 B 2018(/dev/log)S 10 R 2388(device,)S 2711(but)S 2874(this)S 3054(device)S 3352(is)S 3455(read-write.)S 3957(All)S 4122(messages)S (written)286 4538 A 4860(to)S 4974(the)S 5133(log)S 7296 V 1080(device)S 1369(or)S 1479(to)S 1583(the)S 1732(console)S 2065(when)S 2309(X11)S 2508(is)S 2601(active)S 2868(can)S 3033(be)S 3153(read)S 3352(from)S 10 B 3573(/dev/log)S 10 R 3908(.)S 3983(The)S 4165(system)S 4469(tries)S 4668(to)S 4771(preserve)S 5138(the)S 7416 V 1080(log)S 1233(buffer)S 1505(over)S 1709(a)S (reboot)257 1779 A 2061(so)S 2175(that)S 2351(panic)S 2594(messages)S 2999(reappear)S 3372(in)S 3475(the)S 3623(log)S 3776(if)S 3863(the)S 4011(system)S 4315(happens)S 4669(to)S 4772(crash.)S 7903 V 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(TTY)S 925(\()S 967(4)S 1025(\))S 2696(Eighth)S (Edition)296 2989 A 4922(TTY)S 5127(\()S 5169(4)S 5227(\))S 960 V 870(P)S 872(Ps)S 930(se)S 971(eu)S 1018(ud)S 1070(do)S 1122(o)S 1199(T)S 1201(Te)S 1265(er)S 1312(rm)S 1348(mi)S 1428(in)S 1458(na)S 1510(al)S 1557(ls)S 1587(s)S 1080 V (Pseudo)290 1080 A 1399(ttys)S 1573(allow)S 1826(a)S 1900(process)S 2231(such)S 2444(as)S 2557(a)S 2631(remote)S 2940(login)S 3175(daemon)S 3522(to)S 3629(set)S 3770(up)S 3899(a)S 3973(terminal)S 4338(for)S 4485(a)S 4559(remote)S 4868(login)S 5104(ses-)S 1200 V 1080(sion.)S 1323(The)S 1505(login)S 1736(session)S 2051(uses)S 2249(a)S 2319(device)S 2607(like)S 10 B 2783(/dev/ttyp0)S 10 R 3239(for)S (input)206 3382 A 3613(and)S 3783(output,)S 4089(and)S 4259(the)S 4407(remote)S 4712(login)S 4943(daemon)S 1320 V 1080(uses)S 1283(the)S 1436(device)S 10 B 1729(/dev/ptyp0)S 10 R 2212(to)S (supply)267 2320 A (input)206 2617 A 2853(to)S 2961(or)S 3075(take)S 3273(output)S 3559(from)S 3785(the)S 3938(login)S 4174(session)S 4494(and)S 4669(transfer)S 5008(this)S 5183(to)S 1440 V 1080(or)S 1192(from)S 1416(the)S 1567(originating)S 2036(system.)S 2393(So)S 2527(the)S 2678(character)S 3077(\257ow)S 3284(may)S 3485(be:)S 3661(Local)S 3919(user)S (input)206 4115 A 4348(sent)S 4537(to)S 4642(the)S 4792(remote)S 5099(sys-)S 1560 V 1080(tem)S 1263(is)S (written)286 1362 A 1680(to)S 10 B 1791(/dev/ptyp0)S 10 R 2277(by)S 2410(the)S 2566(remote)S 2879(login)S 3118(daemon,)S (undergoes)413 3494 A (input)206 3940 A 4179(processing)S 4642(and)S 4820(appears)S 5161(on)S 1680 V 10 B 1080(/dev/ttyp0)S 10 R 1541(as)S (input)206 1655 A 1891(to)S 1999(the)S 2152(login)S 2388(session.)S 2757(Output)S 3065(from)S 3290(the)S 3442(login)S 3677(session)S 3996(to)S 10 B 4103(/dev/ttyp0)S 10 R (undergoes)413 4563 A 5005(output)S 1800 V 1080(processing,)S 1561(is)S 1654(read)S 1854(from)S 10 B 2076(/dev/ptyp0)S 10 R 2555(by)S 2681(the)S 2831(remote)S 3138(login)S 3371(daemon)S 3716(and)S 3888(is)S 3982(send)S 4193(over)S 4399(to)S 4504(the)S 4654(local)S 4877(system)S 5183(to)S 1920 V 1080(be)S 1200(displayed)S 1610(for)S 1753(the)S 1901(user.)S 2144(\(So)S 2309(there)S 2536(are)S 2685(only)S 2888(four)S 3081(data)S 3274(streams)S 3607(to)S 3710(worry)S (about)223 3976 A 4224(in)S 4327(a)S (pseudo)284 4397 A 4706(terminal.\))S 2088 V 1080(A)S (pseudo)284 1180 A 1491(terminal)S 1854(can)S 2021(be)S 2144(allocated)S 2536(by)S 2664(trying)S 2932(to)S 3038(open)S 3261(all)S 3390(the)S (controlling)441 3541 A 4010(devices)S 10 B 4340(/dev/pty)S 10 I 4687(nn)S 10 R 4815(one)S 4988(by)S 5116(one)S 2208 V (until)184 1080 A 1299(it)S (succeeds.)383 1390 A 1833(Further)S 2165(opens)S (will)157 2434 A 2626(fail)S 2796(once)S 3020(a)S 3099(pty)S 3261(is)S 3362(open.)S 3641(The)S 3832(process)S (should)267 4168 A 4469(now)S 4676(fork,)S 4903(the)S 5060(child)S 2328 V (should)267 1080 A 1372(become)S 1710(session)S 2025(leader,)S 2322(open)S 2542(the)S 2690(tty)S 2821(side)S 3008(of)S 3117(the)S 3265(pty)S 3418(and)S 3588(start)S 3787(a)S 3857(login)S 4088(session.)S 2496 V 1080(If)S 1177(the)S 1329(tty)S 1464(side)S 1655(is)S 1751(eventually)S 2199(closed)S 2485(down)S 2737(then)S 2939(reads)S 3181(from)S 3406(the)S 3558(pty)S 3715(side)S (will)157 3906 A 4093(return)S 4364(zero)S 4568(and)S 4743(writes)S 5020(return)S 2616 V 10 R-1 1080(-)S 10 R 1137(1)S 1221(with)S 10 B (errno)241 1434 A 10 R 1709(set)S 1855(to)S 10 B 1967(EIO)S 10 R 2151(.)S 2235(If)S 2337(the)S 2494(pty)S 2656(side)S 2852(is)S 2953(closed)S 3243(\256rst)S 3433(then)S 3639(a)S 10 B 3717(SIGHUP)S 10 R 4136(signal)S 4409(is)S 4509(sent)S 4704(to)S 4815(the)S 4971(session)S 2736 V 1080(leader)S 1353(and)S 1524(further)S 1825(reads)S 2064(from)S 2286(the)S 2435(tty)S 2567(side)S 2755(return)S 3022(zero)S 3222(and)S 3393(writes)S 3666(return)S 10 R-1 3933(-)S 10 R 3990(1)S 4066(with)S 10 B (errno)241 4271 A 10 R 4538(set)S 4676(to)S 10 B 4781(EIO)S 10 R 4965(.)S 5042(\(Spe-)S 2856 V 1080(cial)S 1256(note:)S 1512(A)S 1615(line)S 1796(erase)S 2034(may)S 2237(cause)S 2491(up)S 2621(to)S 2729(three)S 2961(times)S 3209(the)S 3362(size)S 3548(of)S 3661(the)S 3813(tty)S (input)206 3948 A 4183(queue)S 4452(to)S 4559(be)S 4683(sent)S 4874(to)S 4981(the)S 5133(pty)S 2976 V 1080(reader)S 1362(as)S (backspace)414 1475 A 1918(overstrikes.)S 2439(Some)S 2697(of)S 2810(this)S 2985(output)S 3271(may)S 3474(get)S 3627(lost)S 3802(if)S 3894(the)S 4047(pty)S 4205(reader)S (cannot)268 4488 A (accept)258 4786 A 5074(it)S 5160(all)S 3096 V 1080(at)S 1178(once)S 1393(in)S 1496(a)S 1566(single)S 1831(read)S 2030(call.\))S 3264 V 870(B)S 872(Ba)S 941(ac)S 988(ck)S 1035(kw)S 1087(wa)S 1162(ar)S 1209(rd)S 1245(ds)S 1297(s)S 1363(c)S 1365(co)S 1412(om)S 1464(mp)S 1544(pa)S 1596(at)S 1643(ti)S 1673(ib)S 1703(bi)S 1755(il)S 1785(li)S 1815(it)S 1845(ty)S 1875(y)S 3384 V 1080(The)S 10 B 1265(TIOCGETP)S 10 R 1796(,)S 10 B 1849(TIOCSETP)S 10 R 2358(,)S 10 B 2411(TIOCGETC)S 10 R 2981(and)S 10 B 3154(TIOCSETC)S 10 R 3702(ioctl)S 3909(functions)S 4311(that)S 4490(are)S 4642(used)S 4854(by)S 4982(the)S 5133(old)S 3504 V 10 B 1080(sgtty)S 10 R 1326(terminal)S (interface)354 1701 A 2094(are)S (still)151 2257 A (supported)396 2447 A 2882(by)S 3021(the)S 3183(terminal)S 3558(driver)S 3837(by)S 3975(emulation.)S 4465(Note)S 4699(that)S 4888(these)S 5133(old)S 3624 V 1080(functions)S (cannot)268 1480 A 1774(control)S 2085(all)S 2212(termios)S 2540(attributes,)S 2966(so)S 3081(the)S 3230(terminal)S 3592(must)S 3813(be)S 3934(in)S 4038(a)S 4109(relatively)S 4516(sane)S 4721(state)S 4933(to)S 5038(avoid)S 3744 V 1080(problems.)S 3912 V 9 R 720(F)S 722(FI)S 774(IL)S 807(LE)S 865(ES)S 923(S)S 4032 V 10 R 1080(The)S 1286(list)S 1458(below)S 1753(shows)S 2053(all)S 2203(devices)S 2554(that)S 2755(Minix)S 3050(and)S 3245(Minix-vmd)S 3752(have.)S 4042(Not)S 4243(all)S 4394(of)S 4528(these)S 4785(devices)S 5137(are)S 4152 V 1080(con\256gured)S 1544(in)S 1656(by)S 1790(default,)S 2129(as)S 2247(indicated)S 2650(by)S 2784(the)S 2941(numbers)S (\(i/j/k,)221 3320 A 3574(l/m/n\))S 3853(that)S 4037(tell)S 4199(the)S 4355(minimum,)S 4803(default)S 5116(and)S 4272 V 1080(maximum)S 1512(possible)S 1866(number)S 2198(of)S 2307(these)S 2539(devices)S 2866(for)S 3009(Minix)S (\(i/j/k\))230 3279 A 3534(and)S 3704(Minix-vmd)S 4186(\(l/m/n\).)S 4440 V 10 B 1080(/dev/console)S 10 R 2080(System)S 2401(console.)S 4608 V 10 B 1080(/dev/ttyc[1-7])S 10 R 2080(Virtual)S 2391(consoles.)S 2812(\(0/1/7,)S 3102(0/1/7\))S 4776 V 10 B 1080(/dev/log)S 10 R 2080(Console)S 2434(log)S 2587(device.)S 4944 V 10 B 1080(/dev/tty0[0-3])S 10 R 2080(Serial)S 2341(lines.)S 2606(\(0/2/2,)S 2896(4/4/4\))S 5112 V 10 B (/dev/tty[p-w][0-f])742 1080 A 10 R (Pseudo)290 2080 A 2395(ttys.)S 2615(\(0/0/64,)S (1/32/128\))390 2955 A 5280 V 10 B (/dev/pty[p-w][0-f])764 1080 A 10 R 2080(Associated)S (pseudo)284 2547 A 2856(tty)S 2987(controllers.)S 5448 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 5568 V 10 B 1080(stty)S 10 R 1237(\(1\),)S 10 B 1405(termios)S 10 R 1730(\(3\),)S 10 B 1898(setsid)S 10 R 2139(\(2\),)S 10 B 2307(read)S 10 R 2503(\(2\),)S 10 B 2671(write)S 10 R 2896(\(2\).)S 5736 V 9 R 720(B)S 722(BU)S 784(UG)S 852(GS)S 920(S)S 5856 V 10 R 1080(A)S 1178(fair)S 1344(number)S 1676(of)S 1785(\257ags)S 2000(are)S 2149(not)S 2302(implemented)S (under)229 2853 A 3108(Minix)S 3379(\(yet\).)S 3646(Luckily)S 3985(they)S 4184(are)S 4334(very)S 4539(limited)S (utility)240 4850 A 5116(and)S 5976 V 1080(only)S 1283(apply)S 1531(to)S (RS-232,)332 1634 A 1991(not)S 2144(to)S 2247(the)S 2395(user)S (interface.)379 2588 A 6144 V 9 R 720(A)S 722(AU)S 790(UT)S 858(TH)S 916(HO)S 984(OR)S 1052(R)S 6264 V 10 R 1080(Kees)S 1307(J.)S 1396(Bot)S 1566(\(kjb@cs.vu.nl\))S 7903 V 720(September)S 1176(13,)S (1996)200 1326 A 4990(Page)S 5211(6)S 8143 V EP %%Trailer %%DocumentFonts: Times-Roman Times-Bold Times-Italic %%Pages: 6