xref: /plan9-contrib/sys/src/9k/port/portfns.h (revision 094d68186d4cdde21fdab9786d6c843a03693e4e)
19ef1f84bSDavid du Colombier void		_assert(char*);
29ef1f84bSDavid du Colombier void		accounttime(void);
39ef1f84bSDavid du Colombier void		addbootfile(char*, uchar*, ulong);
49ef1f84bSDavid du Colombier Timer*		addclock0link(void (*)(void), int);
59ef1f84bSDavid du Colombier int		addconsdev(Queue*, void (*fn)(char*,int), int, int);
69ef1f84bSDavid du Colombier int		addkbdq(Queue*, int);
79ef1f84bSDavid du Colombier int		addphysseg(Physseg*);
89ef1f84bSDavid du Colombier void		addwatchdog(Watchdog*);
99ef1f84bSDavid du Colombier int		adec(int*);
109ef1f84bSDavid du Colombier Block*		adjustblock(Block*, int);
119ef1f84bSDavid du Colombier int		ainc(int*);
129ef1f84bSDavid du Colombier void		alarmkproc(void*);
139ef1f84bSDavid du Colombier Block*		allocb(int);
149ef1f84bSDavid du Colombier int		anyhigher(void);
159ef1f84bSDavid du Colombier int		anyready(void);
16*094d6818SDavid du Colombier Image*		attachimage(int, Chan*, int, uintptr, uintptr);
17*094d6818SDavid du Colombier Page*		auxpage(uint);
189ef1f84bSDavid du Colombier Block*		bl2mem(uchar*, Block*, int);
199ef1f84bSDavid du Colombier int		blocklen(Block*);
209ef1f84bSDavid du Colombier void		bootlinks(void);
219ef1f84bSDavid du Colombier void		cachedel(Image*, ulong);
229ef1f84bSDavid du Colombier void		cachepage(Page*, Image*);
239ef1f84bSDavid du Colombier void		callwithureg(void (*)(Ureg*));
249ef1f84bSDavid du Colombier char*		chanpath(Chan*);
259ef1f84bSDavid du Colombier int		canlock(Lock*);
269ef1f84bSDavid du Colombier int		canpage(Proc*);
279ef1f84bSDavid du Colombier int		canqlock(QLock*);
289ef1f84bSDavid du Colombier int		canrlock(RWlock*);
299ef1f84bSDavid du Colombier Chan*		cclone(Chan*);
309ef1f84bSDavid du Colombier void		cclose(Chan*);
319ef1f84bSDavid du Colombier void		ccloseq(Chan*);
329ef1f84bSDavid du Colombier void		chanfree(Chan*);
339ef1f84bSDavid du Colombier void		checkalarms(void);
349ef1f84bSDavid du Colombier void		checkb(Block*, char*);
359ef1f84bSDavid du Colombier void		cinit(void);
369ef1f84bSDavid du Colombier void		closeegrp(Egrp*);
379ef1f84bSDavid du Colombier void		closefgrp(Fgrp*);
389ef1f84bSDavid du Colombier void		closepgrp(Pgrp*);
399ef1f84bSDavid du Colombier void		closergrp(Rgrp*);
409ef1f84bSDavid du Colombier void		cmderror(Cmdbuf*, char*);
419ef1f84bSDavid du Colombier int		cmount(Chan**, Chan*, int, char*);
429ef1f84bSDavid du Colombier int		consactive(void);
439ef1f84bSDavid du Colombier void		(*consdebug)(void);
449ef1f84bSDavid du Colombier Block*		concatblock(Block*);
459ef1f84bSDavid du Colombier void		(*consputs)(char*, int);
469ef1f84bSDavid du Colombier void		copen(Chan*);
479ef1f84bSDavid du Colombier Block*		copyblock(Block*, int);
489ef1f84bSDavid du Colombier void		copypage(Page*, Page*);
499ef1f84bSDavid du Colombier int		cread(Chan*, uchar*, int, vlong);
509ef1f84bSDavid du Colombier void		cunmount(Chan*, Chan*);
519ef1f84bSDavid du Colombier void		cupdate(Chan*, uchar*, int, vlong);
529ef1f84bSDavid du Colombier void		cwrite(Chan*, uchar*, int, vlong);
539ef1f84bSDavid du Colombier uintptr		dbgpc(Proc*);
549ef1f84bSDavid du Colombier int		decrypt(void*, void*, int);
559ef1f84bSDavid du Colombier void		delay(int);
569ef1f84bSDavid du Colombier void		delconsdevs(void);
579ef1f84bSDavid du Colombier Proc*		dequeueproc(Schedq*, Proc*);
589ef1f84bSDavid du Colombier Chan*		devattach(int, char*);
599ef1f84bSDavid du Colombier Block*		devbread(Chan*, long, vlong);
609ef1f84bSDavid du Colombier long		devbwrite(Chan*, Block*, vlong);
619ef1f84bSDavid du Colombier Chan*		devclone(Chan*);
629ef1f84bSDavid du Colombier int		devconfig(int, char *, DevConf *);
639ef1f84bSDavid du Colombier void		devcreate(Chan*, char*, int, int);
649ef1f84bSDavid du Colombier void		devdir(Chan*, Qid, char*, vlong, char*, long, Dir*);
659ef1f84bSDavid du Colombier long		devdirread(Chan*, char*, long, Dirtab*, int, Devgen*);
669ef1f84bSDavid du Colombier Devgen		devgen;
679ef1f84bSDavid du Colombier void		devinit(void);
689ef1f84bSDavid du Colombier Chan*		devopen(Chan*, int, Dirtab*, int, Devgen*);
699ef1f84bSDavid du Colombier void		devpermcheck(char*, int, int);
709ef1f84bSDavid du Colombier void		devpower(int);
719ef1f84bSDavid du Colombier void		devremove(Chan*);
729ef1f84bSDavid du Colombier void		devreset(void);
739ef1f84bSDavid du Colombier void		devshutdown(void);
749ef1f84bSDavid du Colombier long		devstat(Chan*, uchar*, long, Dirtab*, int, Devgen*);
759ef1f84bSDavid du Colombier Dev*		devtabget(int, int);
769ef1f84bSDavid du Colombier void		devtabinit(void);
779ef1f84bSDavid du Colombier void		devtabreset(void);
789ef1f84bSDavid du Colombier long		devtabread(Chan*, void*, long, vlong);
799ef1f84bSDavid du Colombier void		devtabshutdown(void);
809ef1f84bSDavid du Colombier Walkqid*	devwalk(Chan*, Chan*, char**, int, Dirtab*, int, Devgen*);
819ef1f84bSDavid du Colombier long		devwstat(Chan*, uchar*, long);
829ef1f84bSDavid du Colombier void		drawactive(int);
839ef1f84bSDavid du Colombier void		drawcmap(void);
849ef1f84bSDavid du Colombier void		dumpaproc(Proc*);
859ef1f84bSDavid du Colombier void		dumpregs(Ureg*);
869ef1f84bSDavid du Colombier void		dumpstack(void);
879ef1f84bSDavid du Colombier Fgrp*		dupfgrp(Fgrp*);
889ef1f84bSDavid du Colombier int		duppage(Page*);
899ef1f84bSDavid du Colombier void		edfinit(Proc*);
909ef1f84bSDavid du Colombier char*		edfadmit(Proc*);
919ef1f84bSDavid du Colombier int		edfready(Proc*);
929ef1f84bSDavid du Colombier void		edfrecord(Proc*);
939ef1f84bSDavid du Colombier void		edfrun(Proc*, int);
949ef1f84bSDavid du Colombier void		edfstop(Proc*);
959ef1f84bSDavid du Colombier void		edfyield(void);
969ef1f84bSDavid du Colombier int		emptystr(char*);
979ef1f84bSDavid du Colombier int		encrypt(void*, void*, int);
989ef1f84bSDavid du Colombier void		envcpy(Egrp*, Egrp*);
999ef1f84bSDavid du Colombier int		eqchanddq(Chan*, int, uint, Qid, int);
1009ef1f84bSDavid du Colombier int		eqqid(Qid, Qid);
1019ef1f84bSDavid du Colombier void		error(char*);
1029ef1f84bSDavid du Colombier void		exhausted(char*);
1039ef1f84bSDavid du Colombier void		exit(int);
1049ef1f84bSDavid du Colombier uvlong		fastticks(uvlong*);
1059ef1f84bSDavid du Colombier uvlong		fastticks2us(uvlong);
1069ef1f84bSDavid du Colombier uvlong		fastticks2ns(uvlong);
1079ef1f84bSDavid du Colombier int		fault(uintptr, int);
1089ef1f84bSDavid du Colombier void		fdclose(int, int);
1099ef1f84bSDavid du Colombier Chan*		fdtochan(int, int, int, int);
1109ef1f84bSDavid du Colombier int		findmount(Chan**, Mhead**, int, uint, Qid);
111*094d6818SDavid du Colombier int		fixfault(Segment*, uintptr, int, int, int);
1129ef1f84bSDavid du Colombier void		fmtinit(void);
1139ef1f84bSDavid du Colombier void		forceclosefgrp(void);
1149ef1f84bSDavid du Colombier void		free(void*);
1159ef1f84bSDavid du Colombier void		freeb(Block*);
1169ef1f84bSDavid du Colombier void		freeblist(Block*);
1179ef1f84bSDavid du Colombier int		freebroken(void);
1189ef1f84bSDavid du Colombier void		freepte(Segment*, Pte*);
1199ef1f84bSDavid du Colombier void		getcolor(ulong, ulong*, ulong*, ulong*);
1209ef1f84bSDavid du Colombier void		gotolabel(Label*);
1219ef1f84bSDavid du Colombier char*		getconfenv(void);
1229ef1f84bSDavid du Colombier int		haswaitq(void*);
1239ef1f84bSDavid du Colombier long		hostdomainwrite(char*, long);
1249ef1f84bSDavid du Colombier long		hostownerwrite(char*, long);
1259ef1f84bSDavid du Colombier void		hzsched(void);
1269ef1f84bSDavid du Colombier Block*		iallocb(int);
1279ef1f84bSDavid du Colombier void		ialloclimit(ulong);
1289ef1f84bSDavid du Colombier void		iallocsummary(void);
1299ef1f84bSDavid du Colombier void		ilock(Lock*);
1309ef1f84bSDavid du Colombier void		iunlock(Lock*);
1319ef1f84bSDavid du Colombier void		initimage(void);
132277b6efdSDavid du Colombier void		initmark(Watermark *, int, char *);
1339ef1f84bSDavid du Colombier int		iprint(char*, ...);
1349ef1f84bSDavid du Colombier void		isdir(Chan*);
1359ef1f84bSDavid du Colombier int		iseve(void);
1369ef1f84bSDavid du Colombier int		islo(void);
1379ef1f84bSDavid du Colombier Segment*	isoverlap(Proc*, uintptr, usize);
1389ef1f84bSDavid du Colombier int		ispages(void*);
1399ef1f84bSDavid du Colombier int		isphysseg(char*);
1409ef1f84bSDavid du Colombier void		ixsummary(void);
1419ef1f84bSDavid du Colombier int		kbdcr2nl(Queue*, int);
142277b6efdSDavid du Colombier int		kbdgetmap(uint, int*, int*, Rune*);
1439ef1f84bSDavid du Colombier int		kbdputc(Queue*, int);
1449ef1f84bSDavid du Colombier void		kbdputmap(ushort, ushort, Rune);
145*094d6818SDavid du Colombier void		kickpager(uint, int);
1469ef1f84bSDavid du Colombier void		killbig(char*);
1479ef1f84bSDavid du Colombier void		kproc(char*, void(*)(void*), void*);
1489ef1f84bSDavid du Colombier void		kprocchild(Proc*, void (*)(void*), void*);
1499ef1f84bSDavid du Colombier void		(*kproftimer)(uintptr);
1509ef1f84bSDavid du Colombier void		ksetenv(char*, char*, int);
1519ef1f84bSDavid du Colombier void		kstrcpy(char*, char*, int);
1529ef1f84bSDavid du Colombier void		kstrdup(char**, char*);
153406c76faSDavid du Colombier ulong		l2be(long);
1549ef1f84bSDavid du Colombier long		latin1(Rune*, int);
1559ef1f84bSDavid du Colombier int		lock(Lock*);
1569ef1f84bSDavid du Colombier void		logopen(Log*);
1579ef1f84bSDavid du Colombier void		logclose(Log*);
1589ef1f84bSDavid du Colombier char*		logctl(Log*, int, char**, Logflag*);
1599ef1f84bSDavid du Colombier void		logn(Log*, int, void*, int);
1609ef1f84bSDavid du Colombier long		logread(Log*, void*, ulong, long);
1619ef1f84bSDavid du Colombier void		log(Log*, int, char*, ...);
1629ef1f84bSDavid du Colombier Cmdtab*		lookupcmd(Cmdbuf*, Cmdtab*, int);
1639ef1f84bSDavid du Colombier Page*		lookpage(Image*, ulong);
1649ef1f84bSDavid du Colombier #define		MS2NS(n) (((vlong)(n))*1000000LL)
1659ef1f84bSDavid du Colombier void		mallocinit(void);
1669ef1f84bSDavid du Colombier long		mallocreadsummary(Chan*, void*, long, long);
1679ef1f84bSDavid du Colombier void		mallocsummary(void);
1689ef1f84bSDavid du Colombier Block*		mem2bl(uchar*, int);
1699ef1f84bSDavid du Colombier void		mfreeseg(Segment*, uintptr, uintptr);
1709ef1f84bSDavid du Colombier void		microdelay(int);
1719ef1f84bSDavid du Colombier uvlong		mk64fract(uvlong, uvlong);
1729ef1f84bSDavid du Colombier void		mkqid(Qid*, vlong, ulong, int);
1739ef1f84bSDavid du Colombier void		mmuflush(void);
1749ef1f84bSDavid du Colombier void		mmuput(uintptr, uintptr, Page*);
1759ef1f84bSDavid du Colombier void		mmurelease(Proc*);
1769ef1f84bSDavid du Colombier void		mmuswitch(Proc*);
1779ef1f84bSDavid du Colombier Chan*		mntauth(Chan*, char*);
1789ef1f84bSDavid du Colombier usize		mntversion(Chan*, u32int, char*, usize);
1799ef1f84bSDavid du Colombier void		mountfree(Mount*);
1809ef1f84bSDavid du Colombier int		mregfmt(Fmt*);
1819ef1f84bSDavid du Colombier ulong		ms2tk(ulong);
1829ef1f84bSDavid du Colombier uvlong		ms2fastticks(ulong);
1839ef1f84bSDavid du Colombier void		mul64fract(uvlong*, uvlong, uvlong);
1849ef1f84bSDavid du Colombier void		muxclose(Mnt*);
1859ef1f84bSDavid du Colombier Chan*		namec(char*, int, int, int);
1869ef1f84bSDavid du Colombier void		nameerror(char*, char*);
1879ef1f84bSDavid du Colombier Chan*		newchan(void);
1889ef1f84bSDavid du Colombier int		newfd(Chan*);
1899ef1f84bSDavid du Colombier Mhead*		newmhead(Chan*);
1909ef1f84bSDavid du Colombier Mount*		newmount(Mhead*, Chan*, int, char*);
191*094d6818SDavid du Colombier Page*		newpage(int, Segment*, uintptr, uint, int, int);
1929ef1f84bSDavid du Colombier Path*		newpath(char*);
1939ef1f84bSDavid du Colombier Pgrp*		newpgrp(void);
1949ef1f84bSDavid du Colombier Rgrp*		newrgrp(void);
1959ef1f84bSDavid du Colombier Proc*		newproc(void);
1969ef1f84bSDavid du Colombier void		nexterror(void);
197277b6efdSDavid du Colombier void		notemark(Watermark *, int);
1989ef1f84bSDavid du Colombier int		nrand(int);
1999ef1f84bSDavid du Colombier uvlong		ns2fastticks(uvlong);
2009ef1f84bSDavid du Colombier int		okaddr(uintptr, long, int);
2019ef1f84bSDavid du Colombier int		openmode(int);
2029ef1f84bSDavid du Colombier Block*		packblock(Block*);
2039ef1f84bSDavid du Colombier Block*		padblock(Block*, int);
2049ef1f84bSDavid du Colombier void		pagechainhead(Page*);
2059ef1f84bSDavid du Colombier void		pageinit(void);
2069ef1f84bSDavid du Colombier ulong		pagenumber(Page*);
2079ef1f84bSDavid du Colombier uvlong		pagereclaim(int);
208*094d6818SDavid du Colombier void		pageunchain(Page*);
2099ef1f84bSDavid du Colombier void		panic(char*, ...);
2109ef1f84bSDavid du Colombier Cmdbuf*		parsecmd(char *a, int n);
2119ef1f84bSDavid du Colombier void		pathclose(Path*);
2129ef1f84bSDavid du Colombier ulong		perfticks(void);
2139ef1f84bSDavid du Colombier void		pexit(char*, int);
214*094d6818SDavid du Colombier Page*		pgalloc(uint, int);
215*094d6818SDavid du Colombier void		pgfree(Page*);
2169ef1f84bSDavid du Colombier void		pgrpcpy(Pgrp*, Pgrp*);
2179ef1f84bSDavid du Colombier void		pgrpnote(ulong, char*, long, int);
2182c57ff9fSDavid du Colombier uintmem		physalloc(u64int, int*, void*);
2192c57ff9fSDavid du Colombier void		physdump(void);
2202c57ff9fSDavid du Colombier void		physfree(uintmem, u64int);
2212c57ff9fSDavid du Colombier void		physinit(uintmem, u64int);
2222c57ff9fSDavid du Colombier void*		phystag(uintmem);
2239ef1f84bSDavid du Colombier int		psindex(int);
224*094d6818SDavid du Colombier void		pio(Segment*, uintptr, uintptr, Page**, int);
2259ef1f84bSDavid du Colombier #define		poperror()		up->nerrlab--
2269ef1f84bSDavid du Colombier int		postnote(Proc*, int, char*, int);
2279ef1f84bSDavid du Colombier int		pprint(char*, ...);
2289ef1f84bSDavid du Colombier int		preempted(void);
2299ef1f84bSDavid du Colombier void		prflush(void);
2309ef1f84bSDavid du Colombier void		printinit(void);
2319ef1f84bSDavid du Colombier void		psinit(void);
2329ef1f84bSDavid du Colombier ulong		procalarm(ulong);
2339ef1f84bSDavid du Colombier void		procctl(Proc*);
2349ef1f84bSDavid du Colombier void		procdump(void);
2359ef1f84bSDavid du Colombier int		procfdprint(Chan*, int, int, char*, int);
2369ef1f84bSDavid du Colombier void		procflushseg(Segment*);
2379ef1f84bSDavid du Colombier void		procpriority(Proc*, int, int);
2389ef1f84bSDavid du Colombier void		procrestore(Proc*);
2399ef1f84bSDavid du Colombier void		procsave(Proc*);
2409ef1f84bSDavid du Colombier Proc*		psincref(int);
2419ef1f84bSDavid du Colombier void		psdecref(Proc*);
242d46407a3SDavid du Colombier void		(*proctrace)(Proc*, int, vlong, vlong);
2439ef1f84bSDavid du Colombier void		procwired(Proc*, int);
2449ef1f84bSDavid du Colombier Pte*		ptealloc(void);
2459ef1f84bSDavid du Colombier Pte*		ptecpy(Pte*);
2469ef1f84bSDavid du Colombier int		pullblock(Block**, int);
2479ef1f84bSDavid du Colombier Block*		pullupblock(Block*, int);
2489ef1f84bSDavid du Colombier Block*		pullupqueue(Queue*, int);
2499ef1f84bSDavid du Colombier void		putimage(Image*);
2509ef1f84bSDavid du Colombier void		putmhead(Mhead*);
2519ef1f84bSDavid du Colombier void		putpage(Page*);
2529ef1f84bSDavid du Colombier void		putseg(Segment*);
2539ef1f84bSDavid du Colombier void		putstrn(char*, int);
2549ef1f84bSDavid du Colombier int		pwait(Waitmsg*);
2559ef1f84bSDavid du Colombier void		qaddlist(Queue*, Block*);
2569ef1f84bSDavid du Colombier Block*		qbread(Queue*, int);
2579ef1f84bSDavid du Colombier long		qbwrite(Queue*, Block*);
2589ef1f84bSDavid du Colombier Queue*		qbypass(void (*)(void*, Block*), void*);
2599ef1f84bSDavid du Colombier int		qcanread(Queue*);
2609ef1f84bSDavid du Colombier void		qclose(Queue*);
2619ef1f84bSDavid du Colombier int		qconsume(Queue*, void*, int);
2629ef1f84bSDavid du Colombier Block*		qcopy(Queue*, int, ulong);
2639ef1f84bSDavid du Colombier int		qdiscard(Queue*, int);
2649ef1f84bSDavid du Colombier void		qflush(Queue*);
2659ef1f84bSDavid du Colombier void		qfree(Queue*);
2669ef1f84bSDavid du Colombier int		qfull(Queue*);
2679ef1f84bSDavid du Colombier Block*		qget(Queue*);
2689ef1f84bSDavid du Colombier void		qhangup(Queue*, char*);
2699ef1f84bSDavid du Colombier int		qisclosed(Queue*);
2709ef1f84bSDavid du Colombier int		qiwrite(Queue*, void*, int);
2719ef1f84bSDavid du Colombier int		qlen(Queue*);
2729ef1f84bSDavid du Colombier void		qlock(QLock*);
2739ef1f84bSDavid du Colombier Queue*		qopen(int, int, void (*)(void*), void*);
2749ef1f84bSDavid du Colombier int		qpass(Queue*, Block*);
2759ef1f84bSDavid du Colombier int		qpassnolim(Queue*, Block*);
2769ef1f84bSDavid du Colombier int		qproduce(Queue*, void*, int);
2779ef1f84bSDavid du Colombier void		qputback(Queue*, Block*);
2789ef1f84bSDavid du Colombier long		qread(Queue*, void*, int);
2799ef1f84bSDavid du Colombier Block*		qremove(Queue*);
2809ef1f84bSDavid du Colombier void		qreopen(Queue*);
2819ef1f84bSDavid du Colombier void		qsetlimit(Queue*, int);
2829ef1f84bSDavid du Colombier void		qunlock(QLock*);
2839ef1f84bSDavid du Colombier int		qwindow(Queue*);
2849ef1f84bSDavid du Colombier int		qwrite(Queue*, void*, int);
2859ef1f84bSDavid du Colombier void		qnoblock(Queue*, int);
2869ef1f84bSDavid du Colombier int		rand(void);
2879ef1f84bSDavid du Colombier void		randominit(void);
2889ef1f84bSDavid du Colombier ulong		randomread(void*, ulong);
2899ef1f84bSDavid du Colombier void		rdb(void);
2909ef1f84bSDavid du Colombier int		readnum(ulong, char*, ulong, ulong, int);
2919ef1f84bSDavid du Colombier long		readstr(long, char*, long, char*);
2929ef1f84bSDavid du Colombier void		ready(Proc*);
2939ef1f84bSDavid du Colombier void		rebootcmd(int, char**);
2949ef1f84bSDavid du Colombier void		reboot(void*, void*, long);
2959ef1f84bSDavid du Colombier void		relocateseg(Segment*, uintptr);
2969ef1f84bSDavid du Colombier void		renameuser(char*, char*);
2979ef1f84bSDavid du Colombier void		resched(char*);
2989ef1f84bSDavid du Colombier void		resrcwait(char*);
2999ef1f84bSDavid du Colombier int		return0(void*);
3009ef1f84bSDavid du Colombier void		rlock(RWlock*);
3019ef1f84bSDavid du Colombier long		rtctime(void);
3029ef1f84bSDavid du Colombier void		runlock(RWlock*);
3039ef1f84bSDavid du Colombier Proc*		runproc(void);
3049ef1f84bSDavid du Colombier void		sched(void);
3059ef1f84bSDavid du Colombier void		scheddump(void);
3069ef1f84bSDavid du Colombier void		schedinit(void);
3079ef1f84bSDavid du Colombier long		seconds(void);
3089ef1f84bSDavid du Colombier void		segclock(uintptr);
3099ef1f84bSDavid du Colombier void		segpage(Segment*, Page*);
310277b6efdSDavid du Colombier char*		seprintmark(char *, char *, Watermark *);
311*094d6818SDavid du Colombier char*		seprintpagestats(char*, char*);
312*094d6818SDavid du Colombier char*		seprintphysstats(char*, char*);
3139ef1f84bSDavid du Colombier int		setcolor(ulong, ulong, ulong, ulong);
3149ef1f84bSDavid du Colombier void		setkernur(Ureg*, Proc*);
3159ef1f84bSDavid du Colombier int		setlabel(Label*);
3169ef1f84bSDavid du Colombier void		setregisters(Ureg*, char*, char*, int);
3179ef1f84bSDavid du Colombier char*		skipslash(char*);
3189ef1f84bSDavid du Colombier void		sleep(Rendez*, int (*)(void*), void*);
3199ef1f84bSDavid du Colombier void*		smalloc(ulong);
3209ef1f84bSDavid du Colombier char*		srvname(Chan*);
3219ef1f84bSDavid du Colombier void		syscallfmt(int, va_list list);
3229ef1f84bSDavid du Colombier void		sysretfmt(int, va_list, Ar0*, uvlong, uvlong);
3239ef1f84bSDavid du Colombier void		sysrforkchild(Proc*, Proc*);
3249ef1f84bSDavid du Colombier void		timeradd(Timer*);
3259ef1f84bSDavid du Colombier void		timerdel(Timer*);
3269ef1f84bSDavid du Colombier void		timersinit(void);
3279ef1f84bSDavid du Colombier void		timerintr(Ureg*, vlong);
3289ef1f84bSDavid du Colombier void		timerset(uvlong);
3299ef1f84bSDavid du Colombier ulong		tk2ms(ulong);
3309ef1f84bSDavid du Colombier #define		TK2MS(x) ((x)*(1000/HZ))
3319ef1f84bSDavid du Colombier uvlong		tod2fastticks(vlong);
3329ef1f84bSDavid du Colombier vlong		todget(vlong*);
3339ef1f84bSDavid du Colombier void		todsetfreq(vlong);
3349ef1f84bSDavid du Colombier void		todinit(void);
3359ef1f84bSDavid du Colombier void		todset(vlong, vlong, int);
3369ef1f84bSDavid du Colombier void		tsleep(Rendez*, int (*)(void*), void*, long);
3379ef1f84bSDavid du Colombier Block*		trimblock(Block*, int, int);
3389ef1f84bSDavid du Colombier Uart*		uartconsole(int, char*);
3399ef1f84bSDavid du Colombier int		uartctl(Uart*, char*);
3409ef1f84bSDavid du Colombier int		uartgetc(void);
3419ef1f84bSDavid du Colombier void		uartkick(void*);
34245e6af3bSDavid du Colombier void		uartmouse(Uart*, int (*)(Queue*, int), int);
34345e6af3bSDavid du Colombier void		uartsetmouseputc(Uart*, int (*)(Queue*, int));
3449ef1f84bSDavid du Colombier void		uartputc(int);
3459ef1f84bSDavid du Colombier void		uartputs(char*, int);
3469ef1f84bSDavid du Colombier void		uartrecv(Uart*, char);
3479ef1f84bSDavid du Colombier int		uartstageoutput(Uart*);
3489ef1f84bSDavid du Colombier void		unbreak(Proc*);
3499ef1f84bSDavid du Colombier void		uncachepage(Page*);
3509ef1f84bSDavid du Colombier void		unlock(Lock*);
3519ef1f84bSDavid du Colombier void		userinit(void);
3529ef1f84bSDavid du Colombier uintptr		userpc(Ureg*);
3539ef1f84bSDavid du Colombier long		userwrite(char*, long);
3549ef1f84bSDavid du Colombier void*		validaddr(void*, long, int);
3559ef1f84bSDavid du Colombier void		validname(char*, int);
3569ef1f84bSDavid du Colombier char*		validnamedup(char*, int);
3579ef1f84bSDavid du Colombier void		validstat(uchar*, usize);
3589ef1f84bSDavid du Colombier void*		vmemchr(void*, int, int);
3599ef1f84bSDavid du Colombier Proc*		wakeup(Rendez*);
3609ef1f84bSDavid du Colombier int		walk(Chan**, char**, int, int, int*);
3619ef1f84bSDavid du Colombier void		wlock(RWlock*);
3629ef1f84bSDavid du Colombier void		wunlock(RWlock*);
3639ef1f84bSDavid du Colombier void		yield(void);
3649ef1f84bSDavid du Colombier Segment*	data2txt(Segment*);
3659ef1f84bSDavid du Colombier Segment*	dupseg(Segment**, int, int);
3669ef1f84bSDavid du Colombier Segment*	newseg(int, uintptr, uintptr);
3679ef1f84bSDavid du Colombier Segment*	seg(Proc*, uintptr, int);
3689ef1f84bSDavid du Colombier void		hnputv(void*, uvlong);
3699ef1f84bSDavid du Colombier void		hnputl(void*, uint);
3709ef1f84bSDavid du Colombier void		hnputs(void*, ushort);
3719ef1f84bSDavid du Colombier uvlong		nhgetv(void*);
3729ef1f84bSDavid du Colombier uint		nhgetl(void*);
3739ef1f84bSDavid du Colombier ushort		nhgets(void*);
3749ef1f84bSDavid du Colombier ulong		µs(void);
3759ef1f84bSDavid du Colombier 
3769ef1f84bSDavid du Colombier #pragma varargck	argpos	iprint		1
3779ef1f84bSDavid du Colombier #pragma varargck	argpos	panic		1
3789ef1f84bSDavid du Colombier #pragma varargck	argpos	pprint		1
379