plan 9 kernel history: overview | file list | diff list

2002/0412/port/portfns.h (diff list | history)

port/portfns.h on 1995/0104
1995/0104    
void		accounttime(void); 
1997/0413    
void		addclock0link(void (*)(void)); 
1998/0326    
int		addphysseg(Physseg*); 
1993/0724    
void		addrootfile(char*, uchar*, ulong); 
1997/0925    
Block*		adjustblock(Block*, int); 
1992/0622    
void		alarmkproc(void*); 
1994/0306    
Block*		allocb(int); 
1994/0817    
int		anyhigher(void); 
1992/0622    
int		anyready(void); 
2002/0410    
#define	assert(x)	if(x){}else _assert("assert(x) failed") 
1999/1005    
void		_assert(char*); 
1992/0622    
Image*		attachimage(int, Chan*, ulong, ulong); 
1993/1014    
Page*		auxpage(void); 
2001/0619    
Block*		bl2mem(uchar*, Block*, int); 
1997/0327    
int		blocklen(Block*); 
1992/0629    
void		cachedel(Image*, ulong); 
1992/0622    
void		cachepage(Page*, Image*); 
1999/0721    
void		callwithureg(void(*)(Ureg*)); 
2002/0104    
char*		c2name(Chan*); 
1992/0622    
int		cangetc(void*); 
int		canlock(Lock*); 
int		canpage(Proc*); 
int		canputc(void*); 
int		canqlock(QLock*); 
1999/0302    
int		canrlock(RWlock*); 
1992/0622    
void		chandevinit(void); 
void		chandevreset(void); 
2002/0109    
void		chandevshutdown(void); 
1992/0622    
void		chanfree(Chan*); 
1993/0501    
void		chanrec(Mnt*); 
1992/0622    
void		checkalarms(void); 
1999/0527    
void		checkb(Block*, char*); 
1994/0225    
void		cinit(void); 
2001/0527    
Chan*		cclone(Chan*); 
1997/0327    
void		cclose(Chan*); 
1992/0622    
void		closeegrp(Egrp*); 
void		closefgrp(Fgrp*); 
void		closemount(Mount*); 
void		closepgrp(Pgrp*); 
1994/0812    
void		closergrp(Rgrp*); 
1992/0622    
long		clrfpintr(void); 
2001/1120    
void		cmderror(Cmdbuf*, char*); 
2001/0527    
int		cmount(Chan**, Chan*, int, char*); 
1999/0629    
void		cnameclose(Cname*); 
1992/0622    
void		confinit(void); 
1992/0808    
void		confinit1(int); 
1992/0622    
int		consactive(void); 
1997/0327    
void		(*consdebug)(void); 
1994/0225    
void		copen(Chan*); 
1997/0327    
Block*		concatblock(Block*); 
Block*		copyblock(Block*, int); 
1992/0622    
void		copypage(Page*, Page*); 
1998/0327    
int		cread(Chan*, uchar*, int, vlong); 
1997/0327    
void		cunmount(Chan*, Chan*); 
1998/0327    
void		cupdate(Chan*, uchar*, int, vlong); 
void		cwrite(Chan*, uchar*, int, vlong); 
1995/1024    
ulong		dbgpc(Proc*); 
1992/0622    
int		decref(Ref*); 
int		decrypt(void*, void*, int); 
void		delay(int); 
Chan*		devattach(int, char*); 
1995/0108    
Block*		devbread(Chan*, long, ulong); 
long		devbwrite(Chan*, Block*, ulong); 
2002/0104    
Chan*		devclone(Chan*); 
2001/0905    
int		devconfig(int, char *, DevConf *); 
1997/0327    
void		devcreate(Chan*, char*, int, ulong); 
1998/0326    
void		devdir(Chan*, Qid, char*, vlong, char*, long, Dir*); 
1992/0622    
long		devdirread(Chan*, char*, long, Dirtab*, int, Devgen*); 
Devgen		devgen; 
1997/0413    
void		devinit(void); 
1992/0622    
int		devno(int, int); 
Chan*		devopen(Chan*, int, Dirtab*, int, Devgen*); 
2000/0718    
void		devpermcheck(char*, ulong, int); 
2001/0905    
void		devpower(int); 
1997/0327    
void		devremove(Chan*); 
1997/0413    
void		devreset(void); 
2002/0109    
void		devshutdown(void); 
2001/0527    
int		devstat(Chan*, uchar*, int, Dirtab*, int, Devgen*); 
2002/0104    
Walkqid*	devwalk(Chan*, Chan*, char**, int, Dirtab*, int, Devgen*); 
2001/0527    
int		devwstat(Chan*, uchar*, int); 
1997/1101    
void		drawactive(int); 
1999/1013    
void		drawcmap(void); 
1995/1030    
void		dumpaproc(Proc*); 
1992/0622    
void		dumpqueues(void); 
void		dumpregs(Ureg*); 
void		dumpstack(void); 
Fgrp*		dupfgrp(Fgrp*); 
void		duppage(Page*); 
void		dupswap(Page*); 
2002/0410    
void		edfdeadline(Proc*); 
void		edfrelease(Task*); 
char*		edfadmit(Task*); 
void		edfexpel(Task*); 
void		edfbury(Proc*); 
void		edfsched(Task*); 
int		edfanyready(void); 
void		edfready(Proc*); 
Proc*		edfrunproc(void); 
void		edfblock(Proc*); 
void		edfinit(void); 
2001/0527    
int		emptystr(char*); 
1992/0622    
int		encrypt(void*, void*, int); 
void		envcpy(Egrp*, Egrp*); 
1996/1225    
int		eqchan(Chan*, Chan*, int); 
1992/0622    
int		eqqid(Qid, Qid); 
void		error(char*); 
long		execregs(ulong, ulong, ulong); 
void		exhausted(char*); 
1992/0812    
void		exit(int); 
2002/0410    
uvlong		fastticks(uvlong*); 
1992/0622    
int		fault(ulong, int); 
void		fdclose(int, int); 
1992/0825    
Chan*		fdtochan(int, int, int, int); 
1992/0622    
int		fixfault(Segment*, ulong, int, int); 
void		flushmmu(void); 
1993/0501    
void		forkchild(Proc*, Ureg*); 
void		forkret(void); 
1992/0622    
void		free(void*); 
1994/0322    
void		freeb(Block*); 
1997/0327    
void		freeblist(Block*); 
1992/0622    
int		freebroken(void); 
void		freepte(Segment*, Pte*); 
void		freesegs(int); 
1993/0515    
void		freesession(Session*); 
1993/0906    
void		getcolor(ulong, ulong*, ulong*, ulong*); 
2000/0308    
ulong		getmalloctag(void*); 
ulong		getrealloctag(void*); 
1992/0622    
void		gotolabel(Label*); 
2002/0109    
char*		getconfenv(void); 
1993/0309    
int		haswaitq(void*); 
1993/0811    
long		hostdomainwrite(char*, int); 
long		hostownerwrite(char*, int); 
1993/0527    
void		iallocinit(void); 
1995/0103    
Block*		iallocb(int); 
1999/0630    
void		iallocsummary(void); 
1992/0622    
long		ibrk(ulong, int); 
1994/0322    
void		ilock(Lock*); 
void		iunlock(Lock*); 
1992/0622    
int		incref(Ref*); 
void		initseg(void); 
2001/0809    
int		iprint(char*, ...); 
1992/0622    
void		isdir(Chan*); 
2002/0410    
int		isedf(Proc*); 
1993/0811    
int		iseve(void); 
1997/0327    
int		islo(void); 
2002/0330    
Segment*	isoverlap(Proc*, ulong, int); 
1992/0622    
int		ispages(void*); 
2002/0330    
int		isphysseg(char*); 
1993/0819    
void		ixsummary(void); 
1992/0622    
void		kbdclock(void); 
1993/0601    
int		kbdcr2nl(Queue*, int); 
int		kbdputc(Queue*, int); 
1992/0622    
void		kbdrepeat(int); 
1993/0811    
long		keyread(char*, int, long); 
1992/0622    
void		kickpager(void); 
1993/1123    
void		killbig(void); 
1992/0622    
void		kproc(char*, void(*)(void*), void*); 
1993/0501    
void		kprocchild(Proc*, void (*)(void*), void*); 
1997/0327    
void		(*kproftimer)(ulong); 
2002/0109    
void		ksetenv(char*, char*, int); 
2001/0527    
void		kstrcpy(char*, char*, int); 
void		kstrdup(char**, char*); 
1999/1005    
long		latin1(Rune*, int); 
2002/0403    
int		lock(Lock*); 
1992/0622    
void		lockinit(void); 
1999/0316    
void		logopen(Log*); 
void		logclose(Log*); 
char*		logctl(Log*, int, char**, Logflag*); 
2000/1018    
void		logn(Log*, int, void*, int); 
1999/0316    
long		logread(Log*, void*, ulong, long); 
void		log(Log*, int, char*, ...); 
2001/1118    
Cmdtab*	lookupcmd(Cmdbuf*, Cmdtab*, int); 
1992/0622    
Page*		lookpage(Image*, ulong); 
void		machinit(void); 
1994/0322    
void*		mallocz(ulong, int); 
1994/0812    
void*		malloc(ulong); 
1999/0710    
void		mallocsummary(void); 
2001/0619    
Block*		mem2bl(uchar*, int); 
1992/0622    
void		mfreeseg(Segment*, ulong, int); 
1994/0816    
void		microdelay(int); 
2001/0527    
void		mkqid(Qid*, vlong, ulong, int); 
1992/0622    
void		mmurelease(Proc*); 
1993/0811    
void		mmuswitch(Proc*); 
2001/0819    
Chan*		mntauth(Chan*, char*); 
1992/0622    
void		mntdump(void); 
2001/0819    
long		mntversion(Chan*, char*, int, int); 
1992/0622    
void		mountfree(Mount*); 
2002/0326    
ulong	ms2tk(ulong); 
1999/0710    
ulong		msize(void*); 
2002/0410    
ulong		ms2tk(ulong); 
uvlong		ms2fastticks(ulong); 
2001/0819    
void		muxclose(Mnt*); 
1992/0622    
Chan*		namec(char*, int, int, ulong); 
1997/0327    
#define		nelem(x)	(sizeof(x)/sizeof(x[0])) 
1992/0622    
Chan*		newchan(void); 
2001/0819    
int		newfd(Chan*); 
1993/0501    
Mount*		newmount(Mhead*, Chan*, int, char*); 
1992/0622    
Page*		newpage(int, Segment **, ulong); 
Pgrp*		newpgrp(void); 
1994/0812    
Rgrp*		newrgrp(void); 
1992/0622    
Proc*		newproc(void); 
char*		nextelem(char*, char*); 
void		nexterror(void); 
1999/0629    
Cname*		newcname(char*); 
1992/0622    
int		notify(Ureg*); 
int		nrand(int); 
int		okaddr(ulong, ulong, int); 
int		openmode(ulong); 
1998/0918    
Block*		packblock(Block*); 
1995/1121    
Block*		padblock(Block*, int); 
1998/0605    
void		pagechainhead(Page*); 
1992/0622    
void		pageinit(void); 
1999/0110    
void		pagersummary(void); 
1992/0622    
void		panic(char*, ...); 
1999/0316    
Cmdbuf*		parsecmd(char *a, int n); 
1992/0622    
void		pexit(char*, int); 
2001/0527    
void		printinit(void); 
int		procindex(ulong); 
1992/0622    
void		pgrpcpy(Pgrp*, Pgrp*); 
void		pgrpnote(ulong, char*, long, int); 
Pgrp*		pgrptab(int); 
void		pio(Segment *, ulong, ulong, Page **); 
1993/0501    
#define		poperror()		up->nerrlab-- 
2000/1106    
void		portclock(Ureg*); 
1992/0622    
int		postnote(Proc*, int, char*, int); 
int		pprint(char*, ...); 
2000/1106    
void		prflush(void); 
1992/0622    
ulong		procalarm(ulong); 
1993/1201    
int		proccounter(char *name); 
1992/0622    
void		procctl(Proc*); 
void		procdump(void); 
2001/0803    
int		procfdprint(Chan*, int, int, char*, int); 
2001/0510    
void		procinit0(void); 
2001/0527    
void		procflushseg(Segment*); 
1992/0622    
Proc*		proctab(int); 
1999/0711    
void		procwired(Proc*, int); 
1992/0622    
Pte*		ptealloc(void); 
Pte*		ptecpy(Pte*); 
1997/0327    
int		pullblock(Block**, int); 
1995/1217    
Block*		pullupblock(Block*, int); 
2001/0602    
Block*		pullupqueue(Queue*, int); 
1992/0622    
void		putimage(Image*); 
1998/0829    
void		putmhead(Mhead*); 
1992/0622    
void		putmmu(ulong, ulong, Page*); 
void		putpage(Page*); 
void		putseg(Segment*); 
void		putstr(char*); 
1996/1225    
void		putstrn(char*, int); 
1992/0622    
void		putswap(Page*); 
ulong		pwait(Waitmsg*); 
2001/0825    
void		qaddlist(Queue*, Block*); 
1995/0714    
Block*		qbread(Queue*, int); 
long		qbwrite(Queue*, Block*); 
1993/0601    
int		qcanread(Queue*); 
1993/0528    
void		qclose(Queue*); 
1993/0601    
int		qconsume(Queue*, void*, int); 
1997/0327    
Block*		qcopy(Queue*, int, ulong); 
2001/0306    
int		qdiscard(Queue*, int); 
1994/0927    
void		qflush(Queue*); 
2001/0117    
void		qfree(Queue*); 
1997/0327    
int		qfull(Queue*); 
Block*		qget(Queue*); 
void		qhangup(Queue*, char*); 
1998/1127    
int		qisclosed(Queue*); 
1994/0208    
void		qinit(void); 
1997/0327    
int		qiwrite(Queue*, void*, int); 
1993/0530    
int		qlen(Queue*); 
1992/0622    
void		qlock(QLock*); 
1993/0530    
Queue*		qopen(int, int, void (*)(void*), void*); 
1994/0311    
int		qpass(Queue*, Block*); 
1998/0918    
int		qpassnolim(Queue*, Block*); 
1993/0601    
int		qproduce(Queue*, void*, int); 
2001/0602    
void		qputback(Queue*, Block*); 
1993/0601    
long		qread(Queue*, void*, int); 
2001/0602    
Block*		qremove(Queue*); 
1993/0528    
void		qreopen(Queue*); 
2001/0602    
void		qsetlimit(Queue*, int); 
1992/0622    
void		qunlock(QLock*); 
1994/0327    
int		qwindow(Queue*); 
1997/0327    
int		qwrite(Queue*, void*, int); 
1994/0902    
void		qnoblock(Queue*, int); 
1998/0731    
int		rand(void); 
2000/0609    
void		randominit(void); 
ulong		randomread(void*, ulong); 
1999/0820    
void		rdb(void); 
1992/0622    
int		readnum(ulong, char*, ulong, ulong, int); 
1992/0623    
int		readstr(ulong, char*, ulong, char*); 
1992/0622    
void		ready(Proc*); 
2002/0109    
void		rebootcmd(int, char**); 
void		reboot(void*, void*, ulong); 
1992/0622    
void		relocateseg(Segment*, ulong); 
1994/1027    
void		renameuser(char*, char*); 
1992/0622    
void		resched(char*); 
void		resrcwait(char*); 
int		return0(void*); 
void		rlock(RWlock*); 
1997/0327    
long		rtctime(void); 
1992/0622    
void		runlock(RWlock*); 
Proc*		runproc(void); 
void		savefpregs(FPsave*); 
1999/0701    
void		(*saveintrts)(void); 
1992/0622    
void		sched(void); 
1995/1030    
void		scheddump(void); 
1992/0622    
void		schedinit(void); 
2001/0527    
void		(*screenputs)(char*, int); 
1992/0622    
long		seconds(void); 
ulong		segattach(Proc*, ulong, char *, ulong, ulong); 
1996/0303    
void		segclock(ulong); 
1992/0622    
void		segpage(Segment*, Page*); 
int		setcolor(ulong, ulong, ulong, ulong); 
1993/1022    
void		setkernur(Ureg*, Proc*); 
1992/0622    
int		setlabel(Label*); 
1999/0714    
void		setmalloctag(void*, ulong); 
void		setrealloctag(void*, ulong); 
1992/0622    
void		setregisters(Ureg*, char*, char*, int); 
void		setswapchan(Chan*); 
char*		skipslash(char*); 
void		sleep(Rendez*, int(*)(void*), void*); 
void*		smalloc(ulong); 
int		splhi(void); 
int		spllo(void); 
void		splx(int); 
1998/0606    
void		splxpc(int); 
2001/0527    
char*		srvname(Chan*); 
1999/0108    
int		swapcount(ulong); 
1999/0120    
int		swapfull(void); 
1992/0622    
void		swapinit(void); 
2002/0410    
void		timeradd(Timer*); 
void		timerdel(Timer*); 
void		timersinit(void); 
void		timerintr(Ureg*, uvlong); 
void		timerset(uvlong); 
1999/0531    
vlong		todget(vlong*); 
1999/0219    
void		todfix(void); 
void		todsetfreq(vlong); 
void		todinit(void); 
void		todset(vlong, vlong, int); 
1997/0327    
Block*		trimblock(Block*, int, int); 
1992/0622    
void		tsleep(Rendez*, int (*)(void*), void*, int); 
2001/0527    
int		uartctl(Uart*, char*); 
2002/0412    
int		uartgetc(void); 
2001/0527    
void		uartkick(void*); 
2002/0412    
void		uartputc(int); 
void		uartputs(char*, int); 
2001/0527    
void		uartrecv(Uart*, char); 
Uart*		uartsetup(Uart*); 
int		uartstageoutput(Uart*); 
1992/1206    
void		unbreak(Proc*); 
1992/0622    
void		uncachepage(Page*); 
long		unionread(Chan*, void*, long); 
void		unlock(Lock*); 
void		userinit(void); 
ulong		userpc(void); 
1993/0811    
long		userwrite(char*, int); 
1992/0622    
void		validaddr(ulong, ulong, int); 
2001/0527    
void		validname(char*, int); 
void		validstat(uchar*, int); 
1993/0815    
void		vcacheinval(Page*, ulong); 
1992/0622    
void*		vmemchr(void*, int, int); 
2001/0207    
Proc*		wakeup(Rendez*); 
2002/0104    
int		walk(Chan**, char**, int, int, int*); 
1992/0622    
void		wlock(RWlock*); 
void		wunlock(RWlock*); 
1999/0710    
void*		xalloc(ulong); 
1994/0225    
void*		xallocz(ulong, int); 
1992/0622    
void		xfree(void*); 
void		xhole(ulong, ulong); 
void		xinit(void); 
1999/0710    
int		xmerge(void*, void*); 
1992/0622    
void*		xspanalloc(ulong, int, ulong); 
void		xsummary(void); 
1993/0811    
Segment*	data2txt(Segment*); 
1992/1104    
Segment*	dupseg(Segment**, int, int); 
1993/0811    
Segment*	newseg(int, ulong, ulong); 
1991/0706    
Segment*	seg(Proc*, ulong, int); 
1998/0325    
void		hnputv(void*, vlong); 
1995/0103    
void		hnputl(void*, ulong); 
void		hnputs(void*, ushort); 
1998/0325    
vlong		nhgetv(void*); 
1995/0103    
ulong		nhgetl(void*); 
ushort		nhgets(void*); 
2001/0809    
 
#pragma varargck argpos iprint 1 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)