shithub: drawcpu

ref: 746e0c9217ab9ee1884b721a955b712d59b13549
dir: /kern/fns.h/

View raw version
//#define	ROUND(s, sz)	(((s)+((sz)-1))&~((sz)-1))

void        addnote(char*);
Block*		adjustblock(Block*, int);
Block*		allocb(int);
int		    blocklen(Block*);
void        *bufifnec(u32int, int, int *);
char*		chanpath(Chan*);
int	    	cangetc(void*);
int 		canlock(Lock*);
int		    canputc(void*);
int	    	canqlock(QLock*);
int 		canrlock(RWlock*);
void		chandevinit(void);
void		chandevreset(void);
void		chandevshutdown(void);
void		chanfree(Chan*);
void		chanrec(Mnt*);
void		checkb(Block*, char*);
Chan*		cclone(Chan*);
void		cclose(Chan*);
char*	    clipread(void);
int		    clipwrite(char*);
void        clrex(void);
void		closeegrp(Egrp*);
void		closefgrp(Fgrp*);
void		closemount(Mount*);
void		closepgrp(Pgrp*);
void		closergrp(Rgrp*);
void		cmderror(Cmdbuf*, char*);
int		    cmount(Chan*, Chan*, int, char*);
Block*		concatblock(Block*);
void        copyback(u32int, int, void *);
Block*		copyblock(Block*, int);
void        *copyifnec(u32int, int, int *);
void		cunmount(Chan*, Chan*);
int		    decref(Ref*);
Chan*		devattach(int, char*);
Block*		devbread(Chan*, long, ulong);
long		devbwrite(Chan*, Block*, ulong);
Chan*		devclone(Chan*);
int		    devconfig(int, char *, DevConf *);
Chan*		devcreate(Chan*, char*, int, ulong);
void		devdir(Chan*, Qid, char*, vlong, char*, long, Dir*);
long		devdirread(Chan*, char*, long, Dirtab*, int, Devgen*);
Devgen		devgen;
void		devinit(void);
int		    devno(int, int);
Chan*		devopen(Chan*, int, Dirtab*, int, Devgen*);
void		devpermcheck(char*, ulong, int);
void		devpower(int);
void		devremove(Chan*);
void		devreset(void);
void		devshutdown(void);
int		    devstat(Chan*, uchar*, int, Dirtab*, int, Devgen*);
Walkqid*	devwalk(Chan*, Chan*, char**, int, Dirtab*, int, Devgen*);
int	    	devwstat(Chan*, uchar*, int);
Dir*		dirchanstat(Chan*);
void		drawcmap(void);
void        donote(char *, ulong);
void        dump(void);
Fgrp*		dupfgrp(Fgrp*);
Segment*    dupseg(Segment**, int, int);
int		    emptystr(char*);
void		envcpy(Egrp*, Egrp*);
int	    	eqchan(Chan*, Chan*, int);
int 		eqqid(Qid, Qid);
void		error(char*);
u32int      evenaddr(u32int,u32int);
void		exhausted(char*);
void		exit(int);
Fd*         copyfd(Fd*);
void        fddecref(Fd*);
void        fdclose(int, int);
Chan*		fdtochan(int, int, int, int);
void        fpatransfer(u32int);
void        fpaoperation(u32int);
void        fparegtransfer(u32int);
void		free(void*);
void		freeb(Block*);
void		freeblist(Block*);
void        freesegs(void);
uintptr		getmalloctag(void*);
uintptr		getrealloctag(void*);
void		gotolabel(Label*);
char*		getconfenv(void);
long		hostdomainwrite(char*, int);
long		hostownerwrite(char*, int);
Block*		iallocb(int);
void		ilock(Lock*);
void		iunlock(Lock*);
int 		incref(Ref*);
void        invalid(u32int);
int	    	iprint(char*, ...);
void		isdir(Chan*);
int		    iseve(void);
#define	islo()	(0)
int	    	kbdputc(Queue*, int);
void		kbdkey(Rune, int);
int		    kproc(char*, void(*)(void*), void*);
void		ksetenv(char*, char*, int);
void		kstrcpy(char*, char*, int);
void		kstrdup(char**, char*);
long		latin1(Rune*, int);
Chan*		lfdchan(void *);
void		lock(Lock*);
void		lockinit(void);
void		logopen(Log*);
void		logclose(Log*);
char*		logctl(Log*, int, char**, Logflag*);
void		logn(Log*, int, void*, int);
long		logread(Log*, void*, ulong, long);
void		log(Log*, int, char*, ...);
Cmdtab*		lookupcmd(Cmdbuf*, Cmdtab*, int);
void*		mallocz(ulong, int);
#define		malloc kmalloc
void*		malloc(ulong);
void		mkqid(Qid*, vlong, ulong, int);
Chan*		mntauth(Chan*, char*);
void		mntdump(void);
long		mntversion(Chan*, char*, int, int);
Chan*		mntattach(Chan*, Chan*, char*, int);
void		mountfree(Mount*);
void		muxclose(Mnt*);
Chan*		namec(char*, int, int, ulong);
Chan*		newchan(void);
Segment     *newseg(u32int, u32int, int);
int		    newfd(Chan*);
Mhead*		newmhead(Chan*);
Mount*		newmount(Chan*, int, char*);
Path*		newpath(char*);
Pgrp*		newpgrp(void);
Egrp*       newegrp(void);
Rgrp*		newrgrp(void);
Proc*		newproc(void);
char*		nextelem(char*, char*);
void		nexterror(void);
int 		openmode(ulong);
void*		oscmd(char**, int, char*, Chan**);
int	    	oscmdwait(void*, char*, int);
int		    oscmdkill(void*);
void		oscmdfree(void*);
void		oserrstr(void);
void		oserror(void);
void		osexit(char*);
Block*		packblock(Block*);
Block*		padblock(Block*, int);
void		panic(char*, ...);
Cmdbuf*		parsecmd(char *a, int n);
void		pathclose(Path*);
void		pexit(char*, int);
void		printinit(void);
int	    	procindex(ulong);
void		pgrpcpy(Pgrp*, Pgrp*);
void		pgrpnote(ulong, char*, long, int);
Pgrp*		pgrptab(int);
#define		poperror()		up->nerrlab--
int		    postnote(Proc*, int, char*, int);
int	        pprint(char*, ...);
int		    procfdprint(Chan*, int, int, char*, int);
void		procinit0(void);
void        procrun(void*);
Proc*		proctab(int);
void		procwired(Proc*, int);
int		    pullblock(Block**, int);
Block*		pullupblock(Block*, int);
Block*		pullupqueue(Queue*, int);
void		putmhead(Mhead*);
void		putstr(char*);
void		putstrn(char*, int);
Label*	    pwaserror(void);
long		readblist(Block*, uchar*, long, ulong);
int		    qaddlist(Queue*, Block*);
Block*		qbread(Queue*, int);
long		qbwrite(Queue*, Block*);
Queue*		qbypass(void (*)(void*, Block*), void*);
int 		qcanread(Queue*);
void		qclose(Queue*);
int	    	qconsume(Queue*, void*, int);
Block*		qcopy(Queue*, int, ulong);
int		    qdiscard(Queue*, int);
void		qflush(Queue*);
void		qfree(Queue*);
int 		qfull(Queue*);
Block*		qget(Queue*);
void   		qhangup(Queue*, char*);
int		    qisclosed(Queue*);
void		qinit(void);
int		    qiwrite(Queue*, void*, int);
int		    qlen(Queue*);
void		qlock(QLock*);
Queue*		qopen(int, int, void (*)(void*), void*);
int 		qpass(Queue*, Block*);
int	    	qpassnolim(Queue*, Block*);
int		    qproduce(Queue*, void*, int);
void		qputback(Queue*, Block*);
long		qread(Queue*, void*, int);
Block*		qremove(Queue*);
void		qreopen(Queue*);
void		qsetlimit(Queue*, int);
void		qunlock(QLock*);
int 		qwindow(Queue*);
int	    	qwrite(Queue*, void*, int);
void		qnoblock(Queue*, int);
void		randominit(void);
ulong		randomread(void*, ulong);
int		    readnum(ulong, char*, ulong, ulong, int);
int 		readstr(ulong, char*, ulong, char*);
int	    	return0(void*);
void		rlock(RWlock*);
void		runlock(RWlock*);
extern void	(*screenputs)(char*, int);
void*		secalloc(ulong);
void		secfree(void*);
long		seconds(void);
void        segunlock(Segment*);
int         semacquire(long*, int);
int         semrelease(long*, long);
int 		setlabel(Label*);
void		setmalloctag(void*, uintptr);
void		setrealloctag(void*, uintptr);
void        setcexec(Fd *, int, int);
long		showfilewrite(char*, int);
char*		skipslash(char*);
void		sleep(Rendez*, int(*)(void*), void*);
void*		smalloc(ulong);
int	    	splhi(void);
int		    spllo(void);
void		splx(int);
void        _syscall(void);
Block*		trimblock(Block*, int, int);
long		unionread(Chan*, void*, long);
void		unlock(Lock*);
void        *vaddr(u32int, u32int, Segment **);
void        *vaddrnol(u32int, u32int);
#define	    validaddr(one, two, three);
void		validname(char*, int);
char*		validnamedup(char*, int);
void		validstat(uchar*, int);
void        vfpregtransfer(u32int);
void        vfprmtransfer(u32int);
void        vfpoperation(u32int);
void*		vmemchr(void*, int, ulong);
Proc*		wakeup(Rendez*);
int		    walk(Chan**, char**, int, int, int*);
#define	    waserror()	(setjmp(pwaserror()->buf))
void		wlock(RWlock*);
void		wunlock(RWlock*);
void		osyield(void);
void		osmsleep(int);
ulong   	ticks(void);
void	    osproc(Proc*);
int         osawait(Proc *, char *, int);
void	    osnewproc(Proc*);
void	    procsleep(void);
void	    procwakeup(Proc*);
void	    osinit(void);
void	    screeninit(void);
extern	void	terminit(void);
extern	void	setterm(int);