Manual Section 3 - Plan 9 from User Space
intro(3)intro – introduction to library functions
9p(3)Srv dirread9p emalloc9p erealloc9p estrdup9p postfd postmountsrv readbuf readstr respond srv threadpostmountsrv walkandclone – 9P file service
9p-cmdbuf(3)Cmdbuf, parsecmd, respondcmderror, lookupcmd – control message parsing
9p-fid(3)Fid, Fidpool, allocfidpool, freefidpool, allocfid, closefid, lookupfid, removefid Req, Reqpool, allocreqpool, freereqpool, allocreq, closereq, lookupreq, removereq – 9P fid, request tracking
9p-file(3)Tree, alloctree, freetree File, createfile, closefile, removefile, walkfile opendirfile, readdirfile, closedirfile, hasperm – in-memory file hierarchy
9p-intmap(3)Intmap, allocmap, freemap, insertkey, caninsertkey, lookupkey deletekey – integer to data structure maps
9pclient(3)CFid, CFsys, fsinit, fsmount, fsroot, fssetroot, fsunmount, nsinit, nsmount, fsversion, fsauth, fsattach, fsclose, fscreate, fsfcreate, fsremove, fsfremove, fsaccess, fsdirread, fsdirreadall, fsdirstat, fsdirfstat, fsdirwstat, fsdirfwstat, fsopen, fsfopen, nsopen, fsopenfd, fspread, fspwrite, fsread, fsreadn, fsseek, fswrite, fsprint, fsvprint – 9P client library
acme(3)Event, Win eventfmt newwin pipetowin pipewinto sysrun winaddr winclosefiles winctl windel windeleteall windows wineventchan winfd winfree winmread winname winopenfd winprint winread winreadaddr winreadevent winseek winwrite winwriteevent – acme client library
addpt(3)addpt, subpt, mulpt, divpt, rectaddpt, rectsubpt, insetrect, canonrect, eqpt, eqrect, ptinrect, rectinrect, rectXrect, rectclip, combinerect, Dx, Dy, Pt, Rect, Rpt – arithmetic on points and rectangles
aes(3)setupAESstate, aesCBCencrypt, aesCBCdecrypt - advanced encryption standard (rijndael)
allocimage(3)allocimage, allocimagemix, freeimage, nameimage, namedimage, setalpha, loadimage, cloadimage, unloadimage, readimage, writeimage, bytesperline, wordsperline – allocating, freeing, reading, writing images
arg(3)ARGBEGIN, ARGEND, ARGC, ARGF, EARGF, arginit, argopt – process option letters from argv
arith3(3)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 – operations on 3-d points and planes
atof(3)atof, atoi, atol, atoll, charstod, strtod, strtol, strtoll, strtoul, strtoull – convert text to numbers
auth(3)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, fsauth_proxy, fsfauth_proxy, fsamount, nsamount– routines for authenticating users
authsrv(3)authdial, passtokey, nvcsum, readnvram, convT2M, convM2T, convTR2M, convM2TR, convA2M, convM2A, convPR2M, convM2PR, _asgetticket, _asrdresp – routines for communicating with authentication servers
avl(3)mkavltree, insertavl, lookupavl, deleteavl, avlwalk, avlnext, avlprev, endwalk - AVL tree routines
bin(3)binalloc, bingrow, binfree – grouped memory allocation
bio(3)Bopen, Bfdopen, Binit, Binits, Brdline, Brdstr, Bgetc, Bgetrune, Bgetd, Bungetc, Bungetrune, Bread, Bseek, Boffset, Bfildes, Blinelen, Bputc, Bputrune, Bprint, Bvprint, Bwrite, Bflush, Bterm, Bbuffered – buffered input/output
blowfish(3)setupBFstate, bfCBCencrypt, bfCBCdecrypt, bfECBencrypt, bfECBdecrypt - blowfish encryption
cachechars(3)cachechars, agefont, loadchar, Subfont, Fontchar, Font – font utilities
cleanname(3)cleanname – clean a path name
color(3)cmap2rgb, cmap2rgba, rgb2cmap – colors and color maps
complete(3)complete, freecompletion – file name completion
cputime(3)cputime, times – cpu time in this process and children
ctime(3)ctime, localtime, gmtime, asctime, tm2sec – convert date and time
des(3)setupDESstate, des_key_setup, block_cipher, desCBCencrypt, desCBCdecrypt, desECBencrypt, desECBdecrypt, des3CBCencrypt, des3CBCdecrypt, des3ECBencrypt, des3ECBdecrypt, key_setup, des56to64, des64to56, setupDES3state, triple_block_cipher, - single and triple digital encryption standard
dial(3)dial, announce, listen, accept, reject, netmkaddr, getnetconninfo, freenetconninfo, dialparse – make and break network connections
dirread(3)dirread, dirreadall – read directory
draw(3)Image, draw, drawop, gendraw, gendrawop, drawreplxy, drawrepl replclipr, line, lineop, poly, polyop, fillpoly, fillpolyop, bezier, bezierop bezspline, bezsplineop, bezsplinepts, fillbezier, fillbezierop fillbezspline, fillbezsplineop, ellipse, ellipseop fillellipse, fillellipseop, arc, arcop, fillarc, fillarcop icossin, icossin2, border, borderop, string, stringop, stringn, stringnop runestring, runestringop, runestringn, runestringnop, stringbg stringbgop, stringnbg, stringnbgop, runestringbg, runestringbgop runestringnbg, runestringnbgop, _string, ARROW, drawsetdebug – graphics functions
drawfcall(3)convM2W, convW2M, drawfcallfmt, readwsysmsg, sizeW2M – window system protocol
dsa(3)asn1toDSApriv, dsagen, dsasign, dsaverify, dsapuballoc, dsapubfree, dsaprivalloc, dsaprivfree, dsasigalloc, dsasigfree, dsaprivtopub - digital signature algorithm
dup(3)dup – duplicate an open file descriptor
elgamal(3)eggen, egencrypt, egdecrypt, egsign, egverify, egpuballoc, egpubfree, egprivalloc, egprivfree, egsigalloc, egsigfree, egprivtopub - elgamal encryption
encode(3)dec64, enc64, dec32, enc32, dec16, enc16, encodefmt – encoding byte arrays as strings
encrypt(3)encrypt, decrypt, netcrypt – DES encryption
errstr(3)errstr, rerrstr, werrstr – description of last system call error
event(3)event, einit, estart, estartfn, etimer, eread, emouse, ekbd, ecanread, ecanmouse, ecankbd, ereadmouse, eatomouse, eresized, egetrect, edrawgetrect, emenuhit, emoveto, esetcursor, Event, Mouse, Menu – graphics events
exec(3)exec, execl – execute a file
exits(3)exits, _exits, exitcode, atexit, atexitdont – terminate process, process cleanup
fcall(3)Fcall, convS2M, convD2M, convM2S, convM2D, fcallfmt, dirfmt, dirmodefmt, read9pmsg, statcheck, sizeS2M, sizeD2M – interface to Plan 9 File protocol
flate(3)deflateinit, deflate, deflatezlib, deflateblock, deflatezlibblock, inflateinit, inflate, inflatezlib, inflateblock, inflatezlibblock, flateerr, mkcrctab, blockcrc, adler32 – deflate compression
fmtinstall(3)fmtinstall, dofmt, dorfmt, fmtprint, fmtvprint, fmtrune, fmtstrcpy, fmtrunestrcpy, fmtfdinit, fmtfdflush, fmtstrinit, fmtstrflush, runefmtstrinit, runefmtstrflush, errfmt – support for user-defined print formats and output routines
frame(3)frinit, frsetrects, frinittick, frclear, frcharofpt, frptofchar, frinsert, frdelete, frselect, frtick, frselectpaint, frdrawsel, frdrawsel0, frgetmouse – frames of text
genrandom(3)genrandom, prng – random number generation
get9root(3)get9root, unsharp – get path to root of Plan 9 tree
getcallerpc(3)getcallerpc – fetch return PC of current function
getenv(3)getenv, putenv – access environment variables
getfields(3)getfields, gettokens, tokenize – break a string into fields
getns(3)getns – get path to name space directory
getsnarf(3)getsnarf, putsnarf – window system snarf (cut and paste) buffer
getuser(3)getuser, sysname – get user or system name
getwd(3)getwd – get current directory
graphics(3)Display, Point, Rectangle, Cursor, initdraw, geninitdraw, drawerror, initdisplay, closedisplay, getdefont, getwindow, gengetwindow, flushimage, bufimage, lockdisplay, unlockdisplay, cursorswitch, cursorset, openfont, buildfont, freefont, Pfmt, Rfmt, strtochan, chantostr, chantodepth – interactive graphics
html(3)parsehtml printitems validitems freeitems freedocinfo dimenkind dimenspec targetid targetname fromStr toStr – HTML parser
ioproc(3)closeioproc iocall ioclose iointerrupt iodial ioopen ioproc ioread ioread9pmsg ioreadn iorecvfd iosendfd iosleep iowrite – slave I/O processes for threaded programs
ip(3)eipfmt, parseip, parseipmask, v4parseip, v4parsecidr, parseether, myipaddr, myetheraddr, maskip, equivip, defmask, isv4, v4tov6, v6tov4, nhgetl, nhgets, nhgetv, hnputl, hnputs, hnputv, ptclbsum, readipifc – Internet protocol
isalpharune(3)isalpharune, islowerrune, isspacerune, istitlerune, isupperrune, tolowerrune, totitlerune, toupperrune – Unicode character classes and cases
keyboard(3)initkeyboard, ctlkeyboard, closekeyboard – keyboard control
lock(3)lock, canlock, unlock qlock, canqlock, qunlock rlock, canrlock, runlock wlock, canwlock, wunlock rsleep, rwakeup, rwakeupall incref, decref – spin locks, queueing rendezvous locks, reader-writer locks, rendezvous points, and reference counts
mach(3)machbytype, machbyname – machine-independent access to executables and programs
mach-cmd(3)attachargs, attachcore, attachdynamic, attachproc, proctextfile – debugging processes and core files
mach-file(3)crackhdr, uncrackhdr, mapfile, unmapfile, mapproc, unmapproc, detachproc, ctlproc procnotes – machine-independent access to exectuable files and running processes
mach-map(3)allocmap, addseg, findseg, addrtoseg addrtosegafter, removeseg, freemap get1, get2, get4, get8 put1, put2, put4, put8 rget, rput, fpformat locnone, locaddr, locconst, locreg, locindir loccmp, loceval, locfmt, locsimplify lget1, lget2, lget4, lget8 lput1, lput2, lput4, lput8 – machine-independent
mach-stack(3)stacktrace, localaddr, unwindframe, windindex, windreglocs – stack traces
mach-swap(3)beswap2, beswap4, beswap8, beieeeftoa32, beieeeftoa64, beieeeftoa80 beload2, beload4, beload8 leswap2, leswap4, leswap8, leieeeftoa32, leieeeftoa64, leieeeftoa80 leload2, leload4, leload8, ieeeftoa32, ieeeftoa64 – machine-independent access to byte-ordered data
mach-symbol(3)symopen, symclose, findhdr, indexsym, lookupsym, findsym findexsym, flookupsym, ffindsym lookuplsym, indexlsym, findlsym symoff, pc2file, file2pc, line2pc, fnbound, fileline pc2line – symbol table access functions
malloc(3)malloc, mallocz, free, realloc, calloc, setmalloctag, setrealloctag, getmalloctag, getrealloctag – memory allocator
matrix(3)ident, matmul, matmulr, determinant, adjoint, invertmat, xformpoint, xformpointd, xformplane, pushmat, popmat, rot, qrot, scale, move, xform, ixform, persp, look, viewport – Geometric transformations
memdraw(3)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 – drawing routines for memory-resident images
memlayer(3)memdraw, memlalloc, memldelete, memlexpose, memlfree, memlhide, memline, memlnorefresh, memload, memunload, memlorigin, memlsetrefresh, memltofront, memltofrontn, memltorear, memltorearn – windows of memory-resident images
memory(3)memccpy, memchr, memcmp, memcpy, memmove, memset – memory operations
mouse(3)initmouse, readmouse, closemouse, moveto, cursorswitch, getrect, drawgetrect, menuhit, setcursor – mouse control
mousescrollsize(3)mousescrollsize – compute mouse scroll increment
mp(3)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, mpfactorial, mpcmp, mpextendedgcd, mpinvert, mpsignif, mplowbits0, mpvecdigmuladd, mpvecdigmulsub, mpvecadd, mpvecsub, mpveccmp, mpvecmul, mpmagcmp, mpmagadd, mpmagsub, crtpre, crtin, crtout, crtprefree, crtresfree – extended precision arithmetic
muldiv(3)muldiv, umuldiv – high-precision multiplication and division
mux(3)Mux, muxinit, muxrpc, muxthreads – protocol multiplexor
nan(3)NaN, Inf, isNaN, isInf – not-a-number and infinity functions
ndb(3)ndbopen, ndbcat, ndbchanged, ndbclose, ndbreopen, ndbsearch, ndbsnext, ndbgetvalue, ndbfree, ipattr, ndbgetipaddr, ndbipinfo, ndbhash, ndbparse, ndbfindattr, ndbdiscard, ndbconcatenate, ndbreorder, ndbsubstitute, ndbgetval, ndblookval – network database
needstack(3)needstack – check for execution stack overflow
notify(3)notify, noted, atnotify, noteenable, notedisable, notifyon, notifyoff – handle asynchronous process notification
open(3)open, create, close – open a file for reading or writing, create file
opentemp(3)opentemp – create and open a uniquely-named file
pipe(3)pipe – create an interprocess channel
plumb(3)eplumb, plumbfree, plumbopen, plumbunmount, plumbopenfid, plumbsend, plumbsendtofid, plumbsendtext, plumblookup, plumbpack, plumbpackattr, plumbaddattr, plumbdelattr, plumbrecv, plumbrecvfid, plumbunpack, plumbunpackpartial, plumbunpackattr, Plumbmsg – plumb messages
post9pservice(3)post9pservice – post 9P service for use by clients
postnote(3)postnote – send a note to a process or process group
prime(3)genprime, gensafeprime, genstrongprime, DSAprimes, probably_prime, smallprimetest – prime number generation
print(3)print, fprint, sprint, snprint, seprint, smprint, runesprint, runesnprint, runeseprint, runesmprint, vfprint, vsnprint, vseprint, vsmprint, runevsnprint, runevseprint, runevsmprint – print formatted output
proto(3)rdproto – parse and process a proto file listing
pushtls(3)pushtls, tlsClient, tlsServer, initThumbprints, freeThumbprints, okThumbprint, readcert, readcertchain – attach TLS1 or SSL3 encryption to a communication channel
qball(3)qball – 3-d rotation controller
quaternion(3)qtom, mtoq, qadd, qsub, qneg, qmul, qdiv, qunit, qinv, qlen, slerp, qmid, qsqrt – Quaternion arithmetic
quote(3)quotestrdup, quoterunestrdup, unquotestrdup, unquoterunestrdup, quotestrfmt, quoterunestrfmt, quotefmtinstall, doquote, needsrcquote – quoted character strings
rand(3)rand, lrand, frand, nrand, lnrand, srand, truerand, ntruerand, fastrand, nfastrand – random number generator
rc4(3)setupRC4state, rc4, rc4skip, rc4back - alleged rc4 encryption
read(3)read, readn, write, pread, pwrite – read or write file
readcolmap(3)RGB, readcolmap, writecolmap – access display color map
readcons(3)readcons – prompt console for input
regexp(3)regcomp, regcomplit, regcompnl, regexec, regsub, rregexec, rregsub, regerror – regular expression
rfork(3)rfork – manipulate process state
rsa(3)asn1dump asn1toRSApriv decodepem decodepemchain rsadecrypt rsaencrypt rsafill, rsagen rsaprivalloc rsaprivfree rsaprivtopub rsapuballoc rsapubfree X509toRSApub X509dump X509gen X509req X509verify – RSA encryption algorithm
rune(3)runetochar, chartorune, runelen, runenlen, fullrune, utfecpy, utflen, utfnlen, utfrune, utfrrune, utfutf – rune/UTF conversion
runestrcat(3)runestrcat runestrncat runestrcmp runestrncmp runestrcpy runestrncpy runestrecpy runestrlen runestrchr runestrrchr runestrdup runestrstr – rune string operations
searchpath(3)search – search for named executable
sechash(3)md4, md5, sha1, hmac_md5, hmac_sha1, md5pickle, md5unpickle, sha1pickle, sha1unpickle – cryptographically secure hashes
seek(3)seek – change file offset
sendfd(3)sendfd, recvfd – pass file descriptors along Unix domain sockets
setjmp(3)setjmp, longjmp, notejmp – non-local goto
sleep(3)sleep, alarm – delay, ask for delayed note
stat(3)stat, fstat, wstat, fwstat, dirstat, dirfstat, dirwstat, dirfwstat, nulldir – get and put file status
strcat(3)strcat, strncat, strcmp, strncmp, cistrcmp, cistrncmp, strcpy, strncpy, strecpy, strlen, strchr, strrchr, strpbrk, strspn, strcspn, strtok, strdup, strstr, cistrstr – string operations
string(3)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 – extensible strings
stringsize(3)stringsize, stringwidth, stringnwidth, runestringsize, runestringwidth, runestringnwidth – graphical size of strings
subfont(3)allocsubfont, freesubfont, installsubfont, lookupsubfont, uninstallsubfont, subfontname, readsubfont, readsubfonti, writesubfont, stringsubfont, strsubfontwidth, mkfont – subfont manipulation
sysfatal(3)syslog, sysfatal – system error messages
thread(3)alt chancreate chanfree chanprint chansetname mainstacksize proccreate procdata recv recvp recvul send sendp sendul nbrecv nbrecvp nbrecvul nbsend nbsendp nbsendul threadcreate threaddata threadexec threadexecl threadexits threadexitsall threadgetgrp threadgetname threadint threadintgrp threadkill threadkillgrp threadmain threadnotify threadid threadpid threadpin threadunpin threadsetgrp threadsetname threadsetstate threadspawn threadspawnd threadspawnl threadwaitchan yield – thread and proc management
time(3)time, nsec – time in seconds and nanoseconds since epoch
udpread(3)udpread, udpwrite – read and write UDP packets
venti(3)venti – archival storage server
venti-cache(3)VtBlock, VtCache vtblockcopy vtblockduplock vtblockput vtblockwrite vtcachealloc vtcacheallocblock vtcachefree vtcacheglobal vtcachelocal vtcachesetwrite vtglobaltolocal vtlocaltoglobal – Venti block cache
venti-client(3)vtconnect, vthello, vtread, vtwrite, vtreadpacket, vtwritepacket, vtsync, vtping, vtrpc, ventidoublechecksha1 – Venti client
venti-conn(3)VtConn, vtconn, vtdial, vtfreeconn, vtsend, vtrecv, vtversion vtdebug, vthangup – Venti network connections
venti-fcall(3)VtEntry, VtFcall, VtRoot vtentrypack vtentryunpack vtfcallclear vtfcallfmt vtfcallpack vtfcallunpack vtfromdisktype vttodisktype vtgetstring vtputstring vtrootpack vtrootunpack vtparsescore vtscorefmt – venti data formats
venti-file(3)VtFile vtfileblock vtfileblockscore vtfileclose vtfilecreate vtfilecreateroot vtfileflush vtfileflushbefore vtfilegetdirsize vtfilegetentry vtfilegetsize vtfileincref vtfilelock vtfilelock2 vtfileopen vtfileopenroot vtfileread vtfileremove vtfilesetdirsize vtfilesetentry vtfilesetsize vtfiletruncate vtfileunlock vtfilewrite – Venti files
venti-log(3)VtLog VtLogChunk vtlog vtlogclose vtlogdump vtlognames vtlogopen vtlogprint vtlogremove vtlogopen ventilogging – Venti logs
venti-mem(3)vtbrk vtmalloc vtmallocz vtrealloc vtstrdup vtfree – error-checking memory allocators
venti-packet(3)Packet packetalloc packetappend packetasize packetcmp packetconcat packetconsume packetcopy packetdup packetforeign packetfragments packetfree packetheader packetpeek packetprefix packetsha1 packetsize packetsplit packetstats packettrailer packettrim – zero-copy network buffers
venti-server(3)vtsrvhello, vtlisten, vtgetreq, vtrespond – Venti server
venti-zero(3)vtzerotruncate, vtzeroextend, vtzeroscore – Venti block truncation
wait(3)await, awaitnohang, awaitfor, wait, waitnohang, waitfor, waitpid – wait for a process to exit
wctl(3)drawresizewindow, drawsetlabel, drawtopwindow – window management
window(3)Screen, allocscreen, publicscreen, freescreen, allocwindow, bottomwindow, bottomnwindows, topwindow, topnwindows, originwindow – window management
Space Glenda