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

1999/0629/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); 
Image*		attachimage(int, Chan*, ulong, ulong); 
1993/0811    
long		authcheck(Chan*, char*, int); 
1998/0404    
long		authcheckread(Chan*, char*, int n); 
1993/0811    
void		authclose(Chan*); 
1993/0731    
long		authentread(Chan*, char*, int); 
1993/0811    
long		authentwrite(Chan*, char*, int); 
1993/0515    
long		authread(Chan*, char*, int); 
void		authreply(Session*, ulong, Fcall*); 
1993/0811    
ulong		authrequest(Session*, Fcall*); 
long		authwrite(Chan*, char*, int); 
1993/1014    
Page*		auxpage(void); 
1997/0327    
int		blocklen(Block*); 
1992/0629    
void		cachedel(Image*, ulong); 
1992/0622    
void		cachepage(Page*, Image*); 
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); 
void		chanfree(Chan*); 
1993/0501    
void		chanrec(Mnt*); 
1992/0622    
void		checkalarms(void); 
1999/0527    
void		checkb(Block*, char*); 
1994/0225    
void		cinit(void); 
1997/0327    
Chan*		cclone(Chan*, Chan*); 
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); 
1997/0327    
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); 
1992/0622    
Chan*		devclone(Chan*, Chan*); 
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*); 
1997/0327    
void		devremove(Chan*); 
1997/0413    
void		devreset(void); 
1992/0622    
void		devstat(Chan*, char*, Dirtab*, int, Devgen*); 
int		devwalk(Chan*, char*, Dirtab*, int, Devgen*); 
1997/0327    
void		devwstat(Chan*, char*); 
1993/0811    
Chan*		domount(Chan*); 
1997/1101    
void		drawactive(int); 
void		drawcmap(int); 
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*); 
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); 
1999/0129    
vlong		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		freechan(Chan*); 
void		freepte(Segment*, Pte*); 
void		freesegs(int); 
1993/0515    
void		freesession(Session*); 
1993/0906    
void		getcolor(ulong, ulong*, ulong*, ulong*); 
1992/0622    
void		gotolabel(Label*); 
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/0527    
void		iallocsumary(void); 
1992/0622    
long		ibrk(ulong, int); 
1994/0322    
void		ilock(Lock*); 
void		iunlock(Lock*); 
1992/0622    
int		incref(Ref*); 
1992/0808    
void		initscsi(void); 
1992/0622    
void		initseg(void); 
void		isdir(Chan*); 
1993/0811    
int		iseve(void); 
1997/0327    
int		islo(void); 
1992/0622    
int		ispages(void*); 
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); 
long		keywrite(char*, int); 
1992/0622    
void		kickpager(void); 
1993/1123    
void		killbig(void); 
1992/0622    
int		kprint(char*, ...); 
void		kproc(char*, void(*)(void*), void*); 
1993/0501    
void		kprocchild(Proc*, void (*)(void*), void*); 
1997/0327    
void		(*kproftimer)(ulong); 
1992/0622    
void		ksetenv(char*, char*); 
1994/0503    
long		latin1(uchar*, int); 
1992/0622    
void		lock(Lock*); 
void		lockinit(void); 
1999/0316    
void		logopen(Log*); 
void		logclose(Log*); 
char*		logctl(Log*, int, char**, Logflag*); 
long		logread(Log*, void*, ulong, long); 
void		log(Log*, int, char*, ...); 
1992/0622    
Page*		lookpage(Image*, ulong); 
void		machinit(void); 
1994/0322    
void*		mallocz(ulong, int); 
1994/0812    
void*		malloc(ulong); 
1992/0622    
void		mfreeseg(Segment*, ulong, int); 
1994/0816    
void		microdelay(int); 
1992/0622    
void		mmurelease(Proc*); 
1993/0811    
void		mmuswitch(Proc*); 
1992/0622    
void		mntdump(void); 
1998/0327    
long		mntread9p(Chan*, void*, long, vlong); 
1993/0811    
void		mntrepl(char*); 
1998/0327    
long		mntwrite9p(Chan*, void*, long, vlong); 
1992/0622    
void		mountfree(Mount*); 
1992/0623    
int		msize(void*); 
1992/0622    
Chan*		namec(char*, int, int, ulong); 
void		nameok(char*); 
1997/0327    
#define		nelem(x)	(sizeof(x)/sizeof(x[0])) 
1992/0622    
Chan*		newchan(void); 
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*, ...); 
1997/0327    
int		parseether(uchar*, char*); 
1996/0315    
int		parsefields(char*, char**, int, char*); 
1999/0316    
Cmdbuf*		parsecmd(char *a, int n); 
1992/0622    
void		pexit(char*, int); 
void		pgrpcpy(Pgrp*, Pgrp*); 
void		pgrpnote(ulong, char*, long, int); 
Pgrp*		pgrptab(int); 
void		pio(Segment *, ulong, ulong, Page **); 
1999/0129    
void		poolsetparam(char*, ulong, int, int, void (*)(void*, void*)); 
1997/1101    
void		poolsummary(void); 
1993/0501    
#define		poperror()		up->nerrlab-- 
1992/0622    
int		postnote(Proc*, int, char*, int); 
int		pprint(char*, ...); 
void		printinit(void); 
ulong		procalarm(ulong); 
1993/1201    
int		proccounter(char *name); 
1992/0622    
void		procctl(Proc*); 
void		procdump(void); 
void		procinit0(void); 
1998/0811    
void		procflushseg(Segment*); 
1992/0622    
Proc*		proctab(int); 
1995/0102    
void		procwired(Proc*); 
1992/0622    
Pte*		ptealloc(void); 
Pte*		ptecpy(Pte*); 
1997/0327    
int		pullblock(Block**, int); 
1995/1217    
Block*		pullupblock(Block*, 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*); 
void		putstr(char*); 
1996/1225    
void		putstrn(char*, int); 
1992/0622    
void		putswap(Page*); 
ulong		pwait(Waitmsg*); 
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); 
void		qdiscard(Queue*, int); 
1994/0927    
void		qflush(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); 
long		qread(Queue*, void*, int); 
1993/0528    
void		qreopen(Queue*); 
1992/0622    
void		qunlock(QLock*); 
1994/0327    
int		qwindow(Queue*); 
1997/0327    
int		qwrite(Queue*, void*, int); 
1994/0902    
void		qsetlimit(Queue*, int); 
void		qnoblock(Queue*, int); 
1998/0731    
int		rand(void); 
1992/0622    
int		readnum(ulong, char*, ulong, ulong, int); 
1992/0623    
int		readstr(ulong, char*, ulong, char*); 
1992/0622    
void		ready(Proc*); 
void		relocateseg(Segment*, ulong); 
1994/1027    
void		renameuser(char*, char*); 
1992/0622    
void		resched(char*); 
1992/0808    
void		resetscsi(void); 
1992/0622    
void		resrcwait(char*); 
int		return0(void*); 
void		rlock(RWlock*); 
1999/0629    
void		rootrecover(Chan*, char*); 
1993/0811    
void		rootreq(Chan*, Mnt*); 
1997/0327    
long		rtctime(void); 
1992/0622    
void		runlock(RWlock*); 
Proc*		runproc(void); 
void		savefpregs(FPsave*); 
void		sched(void); 
1995/1030    
void		scheddump(void); 
1992/0622    
void		schedinit(void); 
int		screenbits(void); 
1994/0913    
#define		scsialloc(n)	mallocz((n)+512, 0) 
1999/0507    
int		scsibio(Target*, int, int, void*, long, long, long); 
int		scsicap(Target*, int, ulong*, ulong*); 
1996/0607    
int		scsierrstr(int); 
1994/0302    
int		scsiexec(Target*, int, uchar*, int, void*, int*); 
1994/0913    
#define		scsifree(p)	free(p) 
1999/0507    
int		scsiinquiry(Target*, int, void*, int*); 
1995/0403    
int		scsiinv(int, int*, Target**, uchar**, char*); 
1999/0507    
int		scsireqsense(Target*, int, void*, int*, int); 
int		scsistart(Target*, int, int); 
int		scsitest(Target*, int); 
1994/0225    
Target*		scsiunit(int, 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*); 
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); 
1993/0811    
void		srvrecover(Chan*, Chan*); 
1999/0629    
char*	srvname(Chan*); 
1999/0108    
int		swapcount(ulong); 
1999/0120    
int		swapfull(void); 
1992/0622    
void		swapinit(void); 
1999/0603    
void		tagwithpc(void*, ulong); 
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); 
1992/1206    
void		unbreak(Proc*); 
1992/0622    
void		uncachepage(Page*); 
long		unionread(Chan*, void*, long); 
void		unlock(Lock*); 
1994/0611    
Chan*		undomount(Chan*); 
1992/0622    
void		userinit(void); 
ulong		userpc(void); 
1993/0811    
long		userwrite(char*, int); 
1992/0622    
void		validaddr(ulong, ulong, int); 
1993/0815    
void		vcacheinval(Page*, ulong); 
1992/0622    
void*		vmemchr(void*, int, int); 
1997/0220    
int		wakeup(Rendez*); 
1998/0224    
int		walk(Chan**, char*, int); 
1999/0629    
int		walkname(Chan**, char*, int); 
1992/0622    
void		wlock(RWlock*); 
void		wunlock(RWlock*); 
1994/0322    
#define		xalloc(s)	xallocz(s, 1) 
1994/0225    
void*		xallocz(ulong, int); 
1992/0622    
void		xfree(void*); 
void		xhole(ulong, ulong); 
void		xinit(void); 
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*); 


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