1<HEAD> 2<TITLE>plan 9 man section 2</TITLE> 3</HEAD> 4<BODY> 5<B>[<A HREF="/sys/man/index.html">manual index</A>]</B> 6<H2>Plan 9 from Bell Labs - Section 2 - System and Library Calls</H2> 7<HR> 8<DL> 9<DT><A HREF="/magic/man2html/2/0intro">0intro</A> 10- introduction to library functions 11<DD><TT> intro</TT> 12</DT> 13<DT><A HREF="/magic/man2html/2/9p">9p</A> 14- 9P file service 15<DD><TT> Srv, dirread9p, emalloc9p, erealloc9p, estrdup9p, listensrv, postfd, postmountsrv, readbuf, readstr, respond, responderror, threadlistensrv, threadpostmountsrv, srv</TT> 16</DT> 17<DT><A HREF="/magic/man2html/2/9pcmdbuf">9pcmdbuf</A> 18- control message parsing 19<DD><TT> Cmdbuf, parsecmd, respondcmderror, lookupcmd</TT> 20</DT> 21<DT><A HREF="/magic/man2html/2/9pfid">9pfid</A> 22- 9P fid, request tracking 23<DD><TT> Fid, Fidpool, allocfidpool, freefidpool, allocfid, closefid, lookupfid, removefid, Req, Reqpool, allocreqpool, freereqpool, allocreq, closereq, lookupreq, removereq</TT> 24</DT> 25<DT><A HREF="/magic/man2html/2/9pfile">9pfile</A> 26- in-memory file hierarchy 27<DD><TT> Tree, alloctree, freetree, File, createfile, closefile, removefile, walkfile, opendirfile, readdirfile, closedirfile, hasperm</TT> 28</DT> 29<DT><A HREF="/magic/man2html/2/abort">abort</A> 30- generate a fault 31<DD><TT> abort</TT> 32</DT> 33<DT><A HREF="/magic/man2html/2/abs">abs</A> 34- integer absolute values 35<DD><TT> abs, labs</TT> 36</DT> 37<DT><A HREF="/magic/man2html/2/access">access</A> 38- determine accessibility of file 39<DD><TT> access</TT> 40</DT> 41<DT><A HREF="/magic/man2html/2/addpt">addpt</A> 42- arithmetic on points and rectangles 43<DD><TT> addpt, subpt, mulpt, divpt, rectaddpt, rectsubpt, insetrect, canonrect, eqpt, eqrect, ptinrect, rectinrect, rectXrect, rectclip, combinerect, Dx, Dy, Pt, Rect, Rpt</TT> 44</DT> 45<DT><A HREF="/magic/man2html/2/aes">aes</A> 46- advanced encryption standard (rijndael) 47<DD><TT> setupAESstate, aesCBCencrypt, aesCBCdecrypt, aesCTRencrypt, aesCTRdecrypt, setupAESXCBCstate, aesXCBCmac</TT> 48</DT> 49<DT><A HREF="/magic/man2html/2/allocimage">allocimage</A> 50- allocating, freeing, reading, writing images 51<DD><TT> allocimage, allocimagemix, freeimage, nameimage, namedimage, setalpha, loadimage, cloadimage, unloadimage, readimage, writeimage, bytesperline, wordsperline</TT> 52</DT> 53<DT><A HREF="/magic/man2html/2/arg">arg</A> 54- process option letters from argv 55<DD><TT> ARGBEGIN, ARGEND, ARGC, ARGF, EARGF</TT> 56</DT> 57<DT><A HREF="/magic/man2html/2/arith3">arith3</A> 58- operations on 3-d points and planes 59<DD><TT> add3, sub3, neg3, div3, mul3, eqpt3, closept3, dot3, cross3, len3, dist3, unit3, midpt3, lerp3, reflect3, nearseg3, pldist3, vdiv3, vrem3, pn2f3, ppp2f3, fff2p3, pdiv4, add4, sub4</TT> 60</DT> 61<DT><A HREF="/magic/man2html/2/assert">assert</A> 62- check program invariants 63<DD><TT> assert</TT> 64</DT> 65<DT><A HREF="/magic/man2html/2/atof">atof</A> 66- convert text to numbers 67<DD><TT> atof, atoi, atol, atoll, charstod, strtod, strtol, strtoll, strtoul, strtoull</TT> 68</DT> 69<DT><A HREF="/magic/man2html/2/auth">auth</A> 70- routines for authenticating users 71<DD><TT> amount, newns, addns, login, noworld, auth_proxy, fauth_proxy, auth_allocrpc, auth_freerpc, auth_rpc, auth_getkey, amount_getkey, auth_freeAI, auth_chuid, auth_challenge, auth_response, auth_freechal, auth_respond, auth_userpasswd, auth_getuserpasswd, auth_getinfo</TT> 72</DT> 73<DT><A HREF="/magic/man2html/2/authsrv">authsrv</A> 74- routines for communicating with authentication servers 75<DD><TT> authdial, passtokey, nvcsum, readnvram, convT2M, convM2T, convTR2M, convM2TR, convA2M, convM2A, convPR2M, convM2PR, _asgetticket, _asrdresp</TT> 76</DT> 77<DT><A HREF="/magic/man2html/2/avl">avl</A> 78- AVL tree routines 79<DD><TT> mkavltree, insertavl, lookupavl, deleteavl, avlwalk, avlnext, avlprev, endwalk</TT> 80</DT> 81<DT><A HREF="/magic/man2html/2/bin">bin</A> 82- grouped memory allocation 83<DD><TT> binalloc, bingrow, binfree</TT> 84</DT> 85<DT><A HREF="/magic/man2html/2/bind">bind</A> 86- change name space 87<DD><TT> bind, mount, unmount</TT> 88</DT> 89<DT><A HREF="/magic/man2html/2/bio">bio</A> 90- buffered input/output 91<DD><TT> Bopen, Binit, Binits, Brdline, Brdstr, Bgetc, Bgetrune, Bgetd, Bungetc, Bungetrune, Bread, Bseek, Boffset, Bfildes, Blinelen, Bputc, Bputrune, Bprint, Bvprint, Bwrite, Bflush, Bterm, Bbuffered</TT> 92</DT> 93<DT><A HREF="/magic/man2html/2/blowfish">blowfish</A> 94- blowfish encryption 95<DD><TT> setupBFstate, bfCBCencrypt, bfCBCdecrypt, bfECBencrypt, bfECBdecrypt</TT> 96</DT> 97<DT><A HREF="/magic/man2html/2/brk">brk</A> 98- change memory allocation 99<DD><TT> brk, sbrk</TT> 100</DT> 101<DT><A HREF="/magic/man2html/2/cachechars">cachechars</A> 102- font utilities 103<DD><TT> cachechars, agefont, loadchar, Subfont, Fontchar, Font</TT> 104</DT> 105<DT><A HREF="/magic/man2html/2/chdir">chdir</A> 106- change working directory 107<DD><TT> chdir</TT> 108</DT> 109<DT><A HREF="/magic/man2html/2/cleanname">cleanname</A> 110- clean a path name 111<DD><TT> cleanname</TT> 112</DT> 113<DT><A HREF="/magic/man2html/2/color">color</A> 114- colors and color maps 115<DD><TT> cmap2rgb, cmap2rgba, rgb2cmap</TT> 116</DT> 117<DT><A HREF="/magic/man2html/2/complete">complete</A> 118- file name completion 119<DD><TT> complete</TT> 120</DT> 121<DT><A HREF="/magic/man2html/2/control">control</A> 122- interactive graphical controls 123<DD><TT> Control, Controlset, activate, closecontrol, closecontrolset, controlcalled, controlwire, createbox, createboxbox, createbutton, createcolumn, createentry, createkeyboard, createlabel, createmenu, createradiobutton, createrow, createscribble, createslider, createstack, createtab, createtext, createtextbutton, ctlerror, ctlmalloc, ctlrealloc, ctlstrdup, ctlprint, deactivate, freectlfont, freectlimage, initcontrols, namectlfont, namectlimage, newcontrolset, resizecontrolset</TT> 124</DT> 125<DT><A HREF="/magic/man2html/2/cputime">cputime</A> 126- cpu time in this process and children 127<DD><TT> cputime, times, cycles</TT> 128</DT> 129<DT><A HREF="/magic/man2html/2/ctime">ctime</A> 130- convert date and time 131<DD><TT> ctime, localtime, gmtime, asctime, tm2sec, timezone</TT> 132</DT> 133<DT><A HREF="/magic/man2html/2/ctype">ctype</A> 134- ASCII character classification 135<DD><TT> isalpha, isupper, islower, isdigit, isxdigit, isalnum, isspace, ispunct, isprint, isgraph, iscntrl, isascii, toascii, _toupper, _tolower, toupper, tolower</TT> 136</DT> 137<DT><A HREF="/magic/man2html/2/debugger">debugger</A> 138- machine-independent debugger functions 139<DD><TT> cisctrace, risctrace, ciscframe, riscframe, localaddr, symoff, fpformat, beieee80ftos, beieeesftos, beieeedftos, leieee80ftos, leieeesftos, leieeedftos, ieeesftos, ieeedftos</TT> 140</DT> 141<DT><A HREF="/magic/man2html/2/des">des</A> 142- single and triple digital encryption standard 143<DD><TT> setupDESstate, des_key_setup, block_cipher, desCBCencrypt, desCBCdecrypt, desECBencrypt, desECBdecrypt, des3CBCencrypt, des3CBCdecrypt, des3ECBencrypt, des3ECBdecrypt, key_setup, des56to64, des64to56, setupDES3state, triple_block_cipher</TT> 144</DT> 145<DT><A HREF="/magic/man2html/2/dial">dial</A> 146- make and break network connections 147<DD><TT> dial, hangup, announce, listen, accept, reject, netmkaddr, setnetmtpt, getnetconninfo, freenetconninfo</TT> 148</DT> 149<DT><A HREF="/magic/man2html/2/dirread">dirread</A> 150- read directory 151<DD><TT> dirread, dirreadall</TT> 152</DT> 153<DT><A HREF="/magic/man2html/2/disk">disk</A> 154- generic disk device interface 155<DD><TT> opendisk, Disk</TT> 156</DT> 157<DT><A HREF="/magic/man2html/2/draw">draw</A> 158- graphics functions PB L 159<DD><TT> Image, draw, gendraw, drawreplxy, drawrepl, replclipr, line, poly, fillpoly, bezier, bezspline, fillbezier, fillbezspline, ellipse, fillellipse, arc, fillarc, icossin, icossin2, border, string, stringn, runestring, runestringn, stringbg, stringnbg, runestringbg, runestringnbg, _string, ARROW, drawsetdebug</TT> 160</DT> 161<DT><A HREF="/magic/man2html/2/dsa">dsa</A> 162- digital signature algorithm 163<DD><TT> dsagen, dsasign, dsaverify, dsapuballoc, dsapubfree, dsaprivalloc, dsaprivfree, dsasigalloc, dsasigfree, dsaprivtopub</TT> 164</DT> 165<DT><A HREF="/magic/man2html/2/dup">dup</A> 166- duplicate an open file descriptor 167<DD><TT> dup</TT> 168</DT> 169<DT><A HREF="/magic/man2html/2/elgamal">elgamal</A> 170- elgamal encryption 171<DD><TT> eggen, egencrypt, egdecrypt, egsign, egverify, egpuballoc, egpubfree, egprivalloc, egprivfree, egsigalloc, egsigfree, egprivtopub</TT> 172</DT> 173<DT><A HREF="/magic/man2html/2/encode">encode</A> 174- encoding byte arrays as strings 175<DD><TT> dec64, enc64, dec32, enc32, dec16, enc16, encodefmt</TT> 176</DT> 177<DT><A HREF="/magic/man2html/2/encrypt">encrypt</A> 178- DES encryption 179<DD><TT> encrypt, decrypt, netcrypt</TT> 180</DT> 181<DT><A HREF="/magic/man2html/2/errstr">errstr</A> 182- description of last system call error 183<DD><TT> errstr, rerrstr, werrstr</TT> 184</DT> 185<DT><A HREF="/magic/man2html/2/event">event</A> 186- graphics events 187<DD><TT> event, einit, estart, estartfn, etimer, eread, emouse, ekbd, ecanread, ecanmouse, ecankbd, ereadmouse, eatomouse, eresized, egetrect, edrawgetrect, emenuhit, emoveto, esetcursor, Event, Mouse, Menu</TT> 188</DT> 189<DT><A HREF="/magic/man2html/2/exec">exec</A> 190- execute a file 191<DD><TT> exec, execl, _privates, _nprivates, _tos</TT> 192</DT> 193<DT><A HREF="/magic/man2html/2/exits">exits</A> 194- terminate process, process cleanup 195<DD><TT> exits, _exits, atexit, atexitdont, terminate</TT> 196</DT> 197<DT><A HREF="/magic/man2html/2/exp">exp</A> 198- exponential, logarithm, power, square root 199<DD><TT> exp, log, log10, pow, pow10, sqrt</TT> 200</DT> 201<DT><A HREF="/magic/man2html/2/fauth">fauth</A> 202- set up authentication on a file descriptor to a file server 203<DD><TT> fauth</TT> 204</DT> 205<DT><A HREF="/magic/man2html/2/fcall">fcall</A> 206- interface to Plan 9 File protocol 207<DD><TT> Fcall, convS2M, convD2M, convM2S, convM2D, fcallfmt, dirfmt, dirmodefmt, read9pmsg, statcheck, sizeS2M, sizeD2M</TT> 208</DT> 209<DT><A HREF="/magic/man2html/2/fd2path">fd2path</A> 210- return file name associated with file descriptor 211<DD><TT> fd2path</TT> 212</DT> 213<DT><A HREF="/magic/man2html/2/fgetc">fgetc</A> 214- Stdio input and output 215<DD><TT> fgetc, getc, getchar, fputc, putc, putchar, ungetc, fgets, gets, fputs, puts, fread, fwrite</TT> 216</DT> 217<DT><A HREF="/magic/man2html/2/flate">flate</A> 218- deflate compression 219<DD><TT> deflateinit, deflate, deflatezlib, deflateblock, deflatezlibblock, inflateinit, inflate, inflatezlib, inflateblock, inflatezlibblock, flateerr, mkcrctab, blockcrc, adler32</TT> 220</DT> 221<DT><A HREF="/magic/man2html/2/floor">floor</A> 222- absolute value, remainder, floor, ceiling functions 223<DD><TT> fabs, fmod, floor, ceil</TT> 224</DT> 225<DT><A HREF="/magic/man2html/2/fmtinstall">fmtinstall</A> 226- support for user-defined print formats and output routines 227<DD><TT> fmtinstall, dofmt, dorfmt, fmtprint, fmtvprint, fmtrune, fmtstrcpy, fmtrunestrcpy, fmtfdinit, fmtfdflush, fmtstrinit, fmtstrflush, runefmtstrinit, runefmtstrflush, errfmt</TT> 228</DT> 229<DT><A HREF="/magic/man2html/2/fopen">fopen</A> 230- standard buffered input/output package 231<DD><TT> fopen, freopen, fdopen, fileno, fclose, sopenr, sopenw, sclose, fflush, setvbuf, setbuf, fgetpos, ftell, fsetpos, fseek, rewind, feof, ferror, clearerr</TT> 232</DT> 233<DT><A HREF="/magic/man2html/2/fork">fork</A> 234- manipulate process resources 235<DD><TT> fork, rfork</TT> 236</DT> 237<DT><A HREF="/magic/man2html/2/fprintf">fprintf</A> 238- print formatted output 239<DD><TT> fprintf, printf, sprintf, snprintf, vfprintf, vprintf, vsprintf, vsnprintf</TT> 240</DT> 241<DT><A HREF="/magic/man2html/2/frame">frame</A> 242- frames of text 243<DD><TT> frinit, frsetrects, frinittick, frclear, frcharofpt, frptofchar, frinsert, frdelete, frselect, frtick, frselectpaint, frdrawsel, frdrawsel0, frgetmouse</TT> 244</DT> 245<DT><A HREF="/magic/man2html/2/frexp">frexp</A> 246- split into mantissa and exponent 247<DD><TT> frexp, ldexp, modf</TT> 248</DT> 249<DT><A HREF="/magic/man2html/2/fscanf">fscanf</A> 250- scan formatted input 251<DD><TT> fscanf, scanf, sscanf, vfscanf</TT> 252</DT> 253<DT><A HREF="/magic/man2html/2/fversion">fversion</A> 254- initialize 9P connection and negotiate version 255<DD><TT> fversion</TT> 256</DT> 257<DT><A HREF="/magic/man2html/2/getcallerpc">getcallerpc</A> 258- fetch return PC of current function 259<DD><TT> getcallerpc</TT> 260</DT> 261<DT><A HREF="/magic/man2html/2/getenv">getenv</A> 262- access environment variables 263<DD><TT> getenv, putenv</TT> 264</DT> 265<DT><A HREF="/magic/man2html/2/getfcr">getfcr</A> 266- control floating point 267<DD><TT> getfcr, setfcr, getfsr, setfsr</TT> 268</DT> 269<DT><A HREF="/magic/man2html/2/getfields">getfields</A> 270- break a string into fields 271<DD><TT> getfields, gettokens, tokenize</TT> 272</DT> 273<DT><A HREF="/magic/man2html/2/getpid">getpid</A> 274- get process ids 275<DD><TT> getpid, getppid</TT> 276</DT> 277<DT><A HREF="/magic/man2html/2/getuser">getuser</A> 278- get user or system name 279<DD><TT> getuser, sysname</TT> 280</DT> 281<DT><A HREF="/magic/man2html/2/getwd">getwd</A> 282- get current directory 283<DD><TT> getwd</TT> 284</DT> 285<DT><A HREF="/magic/man2html/2/graphics">graphics</A> 286- interactive graphics 287<DD><TT> Display, Point, Rectangle, Cursor, initdraw, geninitdraw, drawerror, initdisplay, closedisplay, getdefont, getwindow, gengetwindow, flushimage, bufimage, lockdisplay, unlockdisplay, openfont, buildfont, freefont, Pfmt, Rfmt, strtochan, chantostr, chantodepth</TT> 288</DT> 289<DT><A HREF="/magic/man2html/2/html">html</A> 290- HTML parser 291<DD><TT> parsehtml, printitems, validitems, freeitems, freedocinfo, dimenkind, dimenspec, targetid, targetname, fromStr, toStr</TT> 292</DT> 293<DT><A HREF="/magic/man2html/2/httpd">httpd</A> 294- routines for creating an http server 295<DD><TT> HConnect, HContent, HContents, HETag, HFields, Hio, Htmlesc, HttpHead, HttpReq, HRange, HSPairs, hmydomain, hversion, htmlesc, halloc, hbodypush, hbuflen, hcheckcontent, hclose, hdate2sec, hdatefmt, hfail, hflush, hgetc, hgethead, hinit, hiserror, hload, hlower, hmkcontent, hmkhfields, hmkmimeboundary, hmkspairs, hmoved, hokheaders, hparseheaders, hparsequery, hparsereq, hprint, hputc, hreadbuf, hredirected, hreqcleanup, hrevhfields, hrevspairs, hstrdup, http11, httpfmt, httpunesc, hunallowed, hungetc, hunload, hurlfmt, hurlunesc, hvprint, hwrite, hxferenc,</TT> 296</DT> 297<DT><A HREF="/magic/man2html/2/hypot">hypot</A> 298- Euclidean distance 299<DD><TT> hypot</TT> 300</DT> 301<DT><A HREF="/magic/man2html/2/intmap">intmap</A> 302- integer to data structure maps 303<DD><TT> Intmap, allocmap, freemap, insertkey, caninsertkey, lookupkey, deletekey</TT> 304</DT> 305<DT><A HREF="/magic/man2html/2/ioproc">ioproc</A> 306- slave I/O processes for threaded programs 307<DD><TT> closeioproc, iocall, ioclose, iointerrupt, iodial, ioopen, ioproc, ioread, ioreadn, iowrite</TT> 308</DT> 309<DT><A HREF="/magic/man2html/2/iounit">iounit</A> 310- return size of atomic I/O unit for file descriptor 311<DD><TT> iounit</TT> 312</DT> 313<DT><A HREF="/magic/man2html/2/ip">ip</A> 314- Internet Protocol addressing 315<DD><TT> eipfmt, parseip, parseipmask, v4parseip, v4parsecidr, parseether, myipaddr, myetheraddr, maskip, equivip4, equivip6, defmask, isv4, v4tov6, v6tov4, nhgetv, nhgetl, nhgets, hnputv, hnputl, hnputs, ptclbsum, readipifc</TT> 316</DT> 317<DT><A HREF="/magic/man2html/2/isalpharune">isalpharune</A> 318- Unicode character classes and cases 319<DD><TT> isalpharune, islowerrune, isspacerune, istitlerune, isupperrune, isdigitrune, tolowerrune, totitlerune, toupperrune</TT> 320</DT> 321<DT><A HREF="/magic/man2html/2/keyboard">keyboard</A> 322- keyboard control 323<DD><TT> initkeyboard, ctlkeyboard, closekeyboard</TT> 324</DT> 325<DT><A HREF="/magic/man2html/2/lock">lock</A> 326- spin locks, queueing rendezvous locks, reader-writer locks, rendezvous points, and reference counts 327<DD><TT> lock, canlock, unlock, qlock, canqlock, qunlock, rlock, canrlock, runlock, wlock, canwlock, wunlock, rsleep, rwakeup, rwakeupall, incref, decref</TT> 328</DT> 329<DT><A HREF="/magic/man2html/2/mach">mach</A> 330- machine-independent access to executable files 331<DD><TT> crackhdr, machbytype, machbyname, newmap, setmap, findseg, unusemap, loadmap, attachproc, get1, get2, get4, get8, geta, put1, put2, put4, put8, puta beswab, beswal, beswav, leswab, leswal, leswav</TT> 332</DT> 333<DT><A HREF="/magic/man2html/2/malloc">malloc</A> 334- memory allocator 335<DD><TT> malloc, mallocalign, mallocz, free, realloc, calloc, msize, setmalloctag, setrealloctag, getmalloctag, getrealloctag, malloctopoolblock</TT> 336</DT> 337<DT><A HREF="/magic/man2html/2/matrix">matrix</A> 338- Geometric transformations 339<DD><TT> ident, matmul, matmulr, determinant, adjoint, invertmat, xformpoint, xformpointd, xformplane, pushmat, popmat, rot, qrot, scale, move, xform, ixform, persp, look, viewport</TT> 340</DT> 341<DT><A HREF="/magic/man2html/2/memdraw">memdraw</A> 342- drawing routines for memory-resident images 343<DD><TT> Memimage, Memdata, Memdrawparam, memimageinit, wordaddr, byteaddr, memimagemove, allocmemimage, allocmemimaged, readmemimage, creadmemimage, writememimage, freememimage, memsetchan, loadmemimage, cloadmemimage, unloadmemimage, memfillcolor, memarc, mempoly, memellipse, memfillpoly, memimageline, memimagedraw, drawclip, memlinebbox, memlineendsize, allocmemsubfont, openmemsubfont, freememsubfont, memsubfontwidth, getmemdefont, memimagestring, iprint, hwdraw</TT> 344</DT> 345<DT><A HREF="/magic/man2html/2/memlayer">memlayer</A> 346- windows of memory-resident images 347<DD><TT> memdraw, memlalloc, memldelete, memlexpose, memlfree, memlhide, memline, memlnorefresh, memload, memunload, memlorigin, memlsetrefresh, memltofront, memltofrontn, memltorear, memltorearn</TT> 348</DT> 349<DT><A HREF="/magic/man2html/2/memory">memory</A> 350- memory operations 351<DD><TT> memccpy, memchr, memcmp, memcpy, memmove, memset</TT> 352</DT> 353<DT><A HREF="/magic/man2html/2/mktemp">mktemp</A> 354- make a unique file name 355<DD><TT> mktemp</TT> 356</DT> 357<DT><A HREF="/magic/man2html/2/mouse">mouse</A> 358- mouse control 359<DD><TT> initmouse, readmouse, closemouse, moveto, getrect, drawgetrect, menuhit, setcursor</TT> 360</DT> 361<DT><A HREF="/magic/man2html/2/mp">mp</A> 362- extended precision arithmetic 363<DD><TT> mpsetminbits, mpnew, mpfree, mpbits, mpnorm, mpcopy, mpassign, mprand, strtomp, mpfmt,mptoa, betomp, mptobe, letomp, mptole, mptoui, uitomp, mptoi, itomp, uvtomp, mptouv, vtomp, mptov, mpdigdiv, mpadd, mpsub, mpleft, mpright, mpmul, mpexp, mpmod, mpdiv, mpcmp, mpextendedgcd, mpinvert, mpsignif, mplowbits0, mpvecdigmuladd, mpvecdigmulsub, mpvecadd, mpvecsub, mpveccmp, mpvecmul, mpmagcmp, mpmagadd, mpmagsub, crtpre, crtin, crtout, crtprefree, crtresfree</TT> 364</DT> 365<DT><A HREF="/magic/man2html/2/muldiv">muldiv</A> 366- high-precision multiplication and division 367<DD><TT> muldiv, umuldiv</TT> 368</DT> 369<DT><A HREF="/magic/man2html/2/nan">nan</A> 370- not-a-number and infinity functions 371<DD><TT> NaN, Inf, isNaN, isInf</TT> 372</DT> 373<DT><A HREF="/magic/man2html/2/ndb">ndb</A> 374- network database 375<DD><TT> ndbopen, ndbcat, ndbchanged, ndbclose, ndbreopen, ndbsearch, ndbsnext, ndbgetvalue, ndbfree, ipattr, ndbgetipaddr, ndbipinfo, csipinfo, ndbhash, ndbparse, csgetvalue, ndbfindattr, dnsquery, ndbdiscard, ndbconcatenate, ndbreorder, ndbsubstitute, ndbgetval, csgetval, ndblookval</TT> 376</DT> 377<DT><A HREF="/magic/man2html/2/notify">notify</A> 378- handle asynchronous process notification 379<DD><TT> notify, noted, atnotify</TT> 380</DT> 381<DT><A HREF="/magic/man2html/2/object">object</A> 382- object file interpretation functions 383<DD><TT> objtype, readobj, objtraverse, isar, nextar, readar</TT> 384</DT> 385<DT><A HREF="/magic/man2html/2/open">open</A> 386- open a file for reading or writing, create file 387<DD><TT> open, create, close</TT> 388</DT> 389<DT><A HREF="/magic/man2html/2/perror">perror</A> 390- system error messages 391<DD><TT> perror, syslog, sysfatal</TT> 392</DT> 393<DT><A HREF="/magic/man2html/2/pipe">pipe</A> 394- create an interprocess channel 395<DD><TT> pipe</TT> 396</DT> 397<DT><A HREF="/magic/man2html/2/plumb">plumb</A> 398- plumb messages 399<DD><TT> eplumb, plumbfree, plumbopen, plumbsend, plumbsendtext, plumblookup, plumbpack, plumbpackattr, plumbaddattr, plumbdelattr, plumbrecv, plumbunpack, plumbunpackpartial, plumbunpackattr, Plumbmsg</TT> 400</DT> 401<DT><A HREF="/magic/man2html/2/pool">pool</A> 402- general memory management routines 403<DD><TT> poolalloc, poolallocalign, poolfree, poolmsize, poolrealloc, poolcompact, poolcheck, poolblockcheck, pooldump</TT> 404</DT> 405<DT><A HREF="/magic/man2html/2/postnote">postnote</A> 406- send a note to a process or process group 407<DD><TT> postnote</TT> 408</DT> 409<DT><A HREF="/magic/man2html/2/prime">prime</A> 410- prime number generation 411<DD><TT> genprime, gensafeprime, genstrongprime, DSAprimes, probably_prime, smallprimetest</TT> 412</DT> 413<DT><A HREF="/magic/man2html/2/print">print</A> 414- print formatted output 415<DD><TT> print, fprint, sprint, snprint, seprint, smprint, runesprint, runesnprint, runeseprint, runesmprint, vfprint, vsnprint, vseprint, vsmprint, runevsnprint, runevseprint, runevsmprint</TT> 416</DT> 417<DT><A HREF="/magic/man2html/2/privalloc">privalloc</A> 418- per-process private storage management 419<DD><TT> privalloc, privfree</TT> 420</DT> 421<DT><A HREF="/magic/man2html/2/proto">proto</A> 422- parse and process a proto file listing 423<DD><TT> rdproto</TT> 424</DT> 425<DT><A HREF="/magic/man2html/2/pushssl">pushssl</A> 426- attach SSL version 2 encryption to a communication channel 427<DD><TT> pushssl</TT> 428</DT> 429<DT><A HREF="/magic/man2html/2/pushtls">pushtls</A> 430- attach TLS1 or SSL3 encryption to a communication channel 431<DD><TT> pushtls, tlsClient, tlsServer, initThumbprints, freeThumbprints, okThumbprint, readcert, readcertchain</TT> 432</DT> 433<DT><A HREF="/magic/man2html/2/qball">qball</A> 434- 3-d rotation controller 435<DD><TT> qball</TT> 436</DT> 437<DT><A HREF="/magic/man2html/2/qsort">qsort</A> 438- quicker sort 439<DD><TT> qsort</TT> 440</DT> 441<DT><A HREF="/magic/man2html/2/quaternion">quaternion</A> 442- Quaternion arithmetic 443<DD><TT> qtom, mtoq, qadd, qsub, qneg, qmul, qdiv, qunit, qinv, qlen, slerp, qmid, qsqrt</TT> 444</DT> 445<DT><A HREF="/magic/man2html/2/quote">quote</A> 446- quoted character strings 447<DD><TT> quotestrdup, quoterunestrdup, unquotestrdup, unquoterunestrdup, quotestrfmt, quoterunestrfmt, quotefmtinstall, doquote, needsrcquote</TT> 448</DT> 449<DT><A HREF="/magic/man2html/2/rand">rand</A> 450- random number generators 451<DD><TT> rand, lrand, frand, nrand, lnrand, srand, truerand, ntruerand, genrandom, prng, fastrand, nfastrand</TT> 452</DT> 453<DT><A HREF="/magic/man2html/2/rc4">rc4</A> 454- alleged rc4 encryption 455<DD><TT> setupRC4state, rc4, rc4skip, rc4back</TT> 456</DT> 457<DT><A HREF="/magic/man2html/2/read">read</A> 458- read or write file 459<DD><TT> read, readn, write, pread, pwrite</TT> 460</DT> 461<DT><A HREF="/magic/man2html/2/readcolmap">readcolmap</A> 462- access display color map 463<DD><TT> RGB, readcolmap, writecolmap</TT> 464</DT> 465<DT><A HREF="/magic/man2html/2/readv">readv</A> 466- scatter/gather read and write 467<DD><TT> readv, writev, preadv, pwritev</TT> 468</DT> 469<DT><A HREF="/magic/man2html/2/regexp">regexp</A> 470- regular expression 471<DD><TT> regcomp, regcomplit, regcompnl, regexec, regsub, rregexec, rregsub, regerror</TT> 472</DT> 473<DT><A HREF="/magic/man2html/2/remove">remove</A> 474- remove a file 475<DD><TT> remove</TT> 476</DT> 477<DT><A HREF="/magic/man2html/2/rendezvous">rendezvous</A> 478- user level process synchronization 479<DD><TT> rendezvous</TT> 480</DT> 481<DT><A HREF="/magic/man2html/2/rsa">rsa</A> 482- RSA encryption algorithm 483<DD><TT> asn1dump, asn1toRSApriv, decodePEM, rsadecrypt, rsaencrypt, rsagen, rsaprivalloc, rsaprivfree, rsaprivtopub, rsapuballoc, rsapubfree, X509toRSApub, X509gen, X509verify</TT> 484</DT> 485<DT><A HREF="/magic/man2html/2/rune">rune</A> 486- rune/UTF conversion 487<DD><TT> runetochar, chartorune, runelen, runenlen, fullrune, utfecpy, utflen, utfnlen, utfrune, utfrrune, utfutf</TT> 488</DT> 489<DT><A HREF="/magic/man2html/2/runestrcat">runestrcat</A> 490- rune string operations 491<DD><TT> runestrcat, runestrncat, runestrcmp, runestrncmp, runestrcpy, runestrncpy, runestrecpy, runestrlen, runestrchr, runestrrchr, runestrdup, runestrstr</TT> 492</DT> 493<DT><A HREF="/magic/man2html/2/scribble">scribble</A> 494- character recognition 495<DD><TT> scribblealloc, recognize</TT> 496</DT> 497<DT><A HREF="/magic/man2html/2/scsi">scsi</A> 498- SCSI device operations 499<DD><TT> openscsi, closescsi, scsiready, scsi, scsicmd, scsierror</TT> 500</DT> 501<DT><A HREF="/magic/man2html/2/sechash">sechash</A> 502- cryptographically secure hashes 503<DD><TT> md4, md5, sha1, sha2_224, sha2_256, sha2_384, sha2_512, aes, hmac_x, hmac_md5, hmac_sha1, hmac_sha2_224, hmac_sha2_256, hmac_sha2_384, hmac_sha2_512, hmac_aes, md5pickle, md5unpickle, sha1pickle, sha1unpickle</TT> 504</DT> 505<DT><A HREF="/magic/man2html/2/seek">seek</A> 506- change file offset 507<DD><TT> seek</TT> 508</DT> 509<DT><A HREF="/magic/man2html/2/segattach">segattach</A> 510- map/unmap a segment in virtual memory 511<DD><TT> segattach, segdetach, segfree</TT> 512</DT> 513<DT><A HREF="/magic/man2html/2/segbrk">segbrk</A> 514- change memory allocation 515<DD><TT> segbrk</TT> 516</DT> 517<DT><A HREF="/magic/man2html/2/segflush">segflush</A> 518- flush instruction and data caches 519<DD><TT> segflush</TT> 520</DT> 521<DT><A HREF="/magic/man2html/2/semacquire">semacquire</A> 522- user level semaphores 523<DD><TT> semacquire, tsemacquire, semrelease</TT> 524</DT> 525<DT><A HREF="/magic/man2html/2/setjmp">setjmp</A> 526- non-local goto 527<DD><TT> setjmp, longjmp, notejmp</TT> 528</DT> 529<DT><A HREF="/magic/man2html/2/sin">sin</A> 530- trigonometric functions 531<DD><TT> sin, cos, tan, asin, acos, atan, atan2</TT> 532</DT> 533<DT><A HREF="/magic/man2html/2/sinh">sinh</A> 534- hyperbolic functions 535<DD><TT> sinh, cosh, tanh</TT> 536</DT> 537<DT><A HREF="/magic/man2html/2/sleep">sleep</A> 538- delay, ask for delayed note 539<DD><TT> sleep, alarm</TT> 540</DT> 541<DT><A HREF="/magic/man2html/2/stat">stat</A> 542- get and put file status 543<DD><TT> stat, fstat, wstat, fwstat, dirstat, dirfstat, dirwstat, dirfwstat, nulldir</TT> 544</DT> 545<DT><A HREF="/magic/man2html/2/strcat">strcat</A> 546- string operations 547<DD><TT> strcat, strncat, strcmp, strncmp, cistrcmp, cistrncmp, strcpy, strncpy, strecpy, strlen, strchr, strrchr, strpbrk, strspn, strcspn, strtok, strdup, strstr, cistrstr</TT> 548</DT> 549<DT><A HREF="/magic/man2html/2/string">string</A> 550- extensible strings 551<DD><TT> s_alloc, s_append, s_array, s_copy, s_error, s_free, s_incref, s_memappend, s_nappend, s_new, s_newalloc, s_parse, s_reset, s_restart, s_terminate, s_tolower, s_putc, s_unique, s_grow, s_read, s_read_line, s_getline, s_allocinstack, s_freeinstack, s_rdinstack</TT> 552</DT> 553<DT><A HREF="/magic/man2html/2/stringsize">stringsize</A> 554- graphical size of strings 555<DD><TT> stringsize, stringwidth, stringnwidth, runestringsize, runestringwidth, runestringnwidth</TT> 556</DT> 557<DT><A HREF="/magic/man2html/2/subfont">subfont</A> 558- subfont manipulation 559<DD><TT> allocsubfont, freesubfont, installsubfont, lookupsubfont, uninstallsubfont, subfontname, readsubfont, readsubfonti, writesubfont, stringsubfont, strsubfontwidth, mkfont</TT> 560</DT> 561<DT><A HREF="/magic/man2html/2/symbol">symbol</A> 562- symbol table access functions 563<DD><TT> syminit, getsym, symbase, pc2sp, pc2line, textseg, line2addr, lookup, findlocal, getauto, findsym, localsym, globalsym, textsym, file2pc, fileelem, filesym, fileline, fnbound</TT> 564</DT> 565<DT><A HREF="/magic/man2html/2/thread">thread</A> 566- thread and proc management 567<DD><TT> alt, chanclose, chancreate, chanfree, chaninit, chanclosing, chanprint, mainstacksize, proccreate, procdata, procexec, procexecl, procrfork, recv, recvp, recvul, send, sendp, sendul, nbrecv, nbrecvp, nbrecvul, nbsend, nbsendp, nbsendul, threadcreate, threaddata, threadexits, threadexitsall, threadgetgrp, threadgetname, threadint, threadintgrp, threadkill, threadkillgrp, threadmain, threadnotify, threadid, threadpid, threadsetgrp, threadsetname, threadwaitchan, yield</TT> 568</DT> 569<DT><A HREF="/magic/man2html/2/time">time</A> 570- time in seconds and nanoseconds since epoch 571<DD><TT> time, nsec</TT> 572</DT> 573<DT><A HREF="/magic/man2html/2/tmpfile">tmpfile</A> 574- Stdio temporary files 575<DD><TT> tmpfile, tmpnam</TT> 576</DT> 577<DT><A HREF="/magic/man2html/2/usb">usb</A> 578- USB device driver library 579<DD><TT> usbcmd, classname, closedev, configdev, devctl, finddevs, loaddevstr, matchdevcsp, opendev, opendevdata, openep, startdevs, unstall, class, subclass, proto, CSP</TT> 580</DT> 581<DT><A HREF="/magic/man2html/2/usbfs">usbfs</A> 582- USB device driver file system library 583<DD><TT> usbreadbuf, usbfsadd, usbfsdel, usbdirread, usbfsinit, usbdirfs, usbfs</TT> 584</DT> 585<DT><A HREF="/magic/man2html/2/venti">venti</A> 586- archival storage server 587<DD><TT> venti</TT> 588</DT> 589<DT><A HREF="/magic/man2html/2/venti-cache">venti-cache</A> 590- Venti block cache 591<DD><TT> VtBlock, VtCache, vtblockcopy, vtblockduplock, vtblockput, vtblockwrite, vtcachealloc, vtcacheallocblock, vtcacheblocksize, vtcachefree, vtcacheglobal, vtcachelocal, vtcachesetwrite, vtglobaltolocal, vtlocaltoglobal</TT> 592</DT> 593<DT><A HREF="/magic/man2html/2/venti-client">venti-client</A> 594- Venti client 595<DD><TT> vtconnect, vthello, vtread, vtwrite, vtreadpacket, vtwritepacket, vtsync, vtping, vtrpc, ventidoublechecksha1</TT> 596</DT> 597<DT><A HREF="/magic/man2html/2/venti-conn">venti-conn</A> 598- Venti network connections 599<DD><TT> VtConn, vtconn, vtdial, vtfreeconn, vtsend, vtrecv, vtversion, vtdebug, vthangup</TT> 600</DT> 601<DT><A HREF="/magic/man2html/2/venti-fcall">venti-fcall</A> 602- venti data formats 603<DD><TT> VtEntry, VtFcall, VtRoot, vtentrypack, vtentryunpack, vtfcallclear, vtfcallfmt, vtfcallpack, vtfcallunpack, vtfromdisktype, vttodisktype, vtgetstring, vtputstring, vtrootpack, vtrootunpack, vtparsescore, vtscorefmt</TT> 604</DT> 605<DT><A HREF="/magic/man2html/2/venti-file">venti-file</A> 606- Venti files 607<DD><TT> VtFile, vtfileblock, vtfileblockscore, vtfileclose, vtfilecreate, vtfilecreateroot, vtfileflush, vtfileflushbefore, vtfilegetdirsize, vtfilegetentry, vtfilegetsize, vtfileincref, vtfilelock, vtfilelock2, vtfileopen, vtfileopenroot, vtfileread, vtfileremove, vtfilesetdirsize, vtfilesetentry, vtfilesetsize, vtfiletruncate, vtfileunlock, vtfilewrite</TT> 608</DT> 609<DT><A HREF="/magic/man2html/2/venti-log">venti-log</A> 610- Venti logs 611<DD><TT> VtLog, VtLogChunk, vtlog, vtlogclose, vtlogdump, vtlognames, vtlogopen, vtlogprint, vtlogremove, vtlogopen, ventilogging</TT> 612</DT> 613<DT><A HREF="/magic/man2html/2/venti-mem">venti-mem</A> 614- error-checking memory allocators 615<DD><TT> vtbrk, vtmalloc, vtmallocz, vtrealloc, vtstrdup, vtfree</TT> 616</DT> 617<DT><A HREF="/magic/man2html/2/venti-packet">venti-packet</A> 618- zero-copy network buffers 619<DD><TT> Packet, packetalloc, packetappend, packetasize, packetcmp, packetconcat, packetconsume, packetcopy, packetdup, packetforeign, packetfragments, packetfree, packetheader, packetpeek, packetprefix, packetsha1, packetsize, packetsplit, packetstats, packettrailer, packettrim</TT> 620</DT> 621<DT><A HREF="/magic/man2html/2/venti-server">venti-server</A> 622- Venti server 623<DD><TT> vtsrvhello, vtlisten, vtgetreq, vtrespond</TT> 624</DT> 625<DT><A HREF="/magic/man2html/2/venti-zero">venti-zero</A> 626- Venti block truncation 627<DD><TT> vtzerotruncate, vtzeroextend, vtzeroscore</TT> 628</DT> 629<DT><A HREF="/magic/man2html/2/wait">wait</A> 630- wait for a process to exit 631<DD><TT> await, wait, waitpid</TT> 632</DT> 633<DT><A HREF="/magic/man2html/2/window">window</A> 634- window management 635<DD><TT> Screen, allocscreen, publicscreen, freescreen, allocwindow, bottomwindow, bottomnwindows, topwindow, topnwindows, originwindow</TT> 636</DT> 637</DL> 638