⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fns.h

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 H
字号:
#include "../port/portfns.h"Dirtab*	addarchfile(char*, int, long(*)(Chan*,void*,long,vlong), long(*)(Chan*,void*,long,vlong));void	archinit(void);void	arginit(void);void	arith(void);void	clock(Ureg*);void	clockinit(void);void	clockintrsched(void);#define coherence 	mbint	cistrcmp(char*, char*);int	cistrncmp(char*, char*, int);int	cmpswap(long*, long, long);void	cpuidprint(void);void	cserve(ulong, ulong);#define cycles(x)	do{}while(0)void	timeradd(Timer *);void	timerdel(Timer *);int	dmacount(int);int	dmadone(int);void	dmaend(int);int	dmainit(int, int);long	dmasetup(int, void*, long, int);void	_dumpstack(Ureg *);void	evenaddr(ulong);void	fataltrap(Ureg *, char *);void	fault0(void);void	faultalpha(Ureg*);ulong	fcr31(void);void	firmware(void);void	fpenab(int);void	fptrap(Ureg*);int	getcfields(char*, char**, int, char*);char	*getconf(char*);int	havetimer(void);int	i8042auxcmd(int);void	i8042auxenable(void (*)(int, int));void	i8042reset(void);void	i8250console(void);void	i8250mouse(char*, int(*)(Queue*,int), int);void	i8250setmouseputc(char*, int (*)(Queue*, int));void	i8259init(void);int	i8259enable(int, int, Vctl*);#define	idlehands()		/* nothing to do in the runproc */void	icflush(void);void	illegal0(void);void	intr0(void);void	intrenable(int, void (*)(Ureg*, void*), void*, int, char*);int	intrdisable(int, void (*)(Ureg *, void *), void*, int, char*);int	ioalloc(int, int, int, char*);void	iofree(int);void	ioinit(void);int	iounused(int, int);int	irqallocread(char*, long, vlong);int	isaconfig(char*, int, ISAConf*);void	kbdinit(void);#define kexit(a)#define	kmapinval()void	*kmapv(uvlong, int);int	kprint(char*, ...);void	links(void);void	mb(void);void 	memholes(void);ulong 	meminit(void);void	mmudump(void);void	mmuinit(void);void	mmupark(void);ulong	pcibarsize(Pcidev*, int);int	pcicfgr8(Pcidev*, int);int	pcicfgr16(Pcidev*, int);int	pcicfgr32(Pcidev*, int);void	pcicfgw8(Pcidev*, int, int);void	pcicfgw16(Pcidev*, int, int);void	pcicfgw32(Pcidev*, int, int);void	pciclrbme(Pcidev*);void	pcihinv(Pcidev*);Pcidev* pcimatch(Pcidev*, int, int);Pcidev* pcimatchtbdf(int);void	pcireset(void);void	pcisetbme(Pcidev*);int	pcmspecial(char*, ISAConf*);int	(*_pcmspecial)(char *, ISAConf *);void	pcmspecialclose(int);void	(*_pcmspecialclose)(int);void	prflush(void);void	printinit(void);#define	procrestore(p)void	procsave(Proc*);void	procsetup(Proc*);void	restfpregs(FPsave*);uvlong	rpcc(uvlong*);void	screeninit(void);void	(*screenputs)(char*, int);void 	setpcb(PCB *);PCB	*swpctx(PCB *);void	syscall0(void);int	tas(ulong*);void	tlbflush(int, ulong);void	touser(void*);void	trapinit(void);void	unaligned(void);ulong	upaalloc(int, int);void	upafree(ulong, int);#define	userureg(ur) ((ur)->status & UMODE)void*	vmap(ulong, int);void	wrent(int, void*);void	wrvptptr(uvlong);void	vunmap(void*, int);#define	waserror()	(up->nerrlab++, setlabel(&up->errlab[up->nerrlab-1]))#define KADDR(a)	((void*)((ulong)(a)|KZERO))#define PADDR(a)	((ulong)(a)&~KZERO)#define	inb(p)	(arch->_inb)(p)#define	ins(p)	(arch->_ins)(p)#define	inl(p)	(arch->_inl)(p)#define	outb(p, x)	(arch->_outb)((p), (x))#define	outs(p, x)	(arch->_outs)((p), (x))#define	outl(p, x)	(arch->_outl)((p), (x))#define	insb(p, buf, len)	(arch->_insb)((p), (buf), (len))#define	inss(p, buf, len)	(arch->_inss)((p), (buf), (len))#define	insl(p, buf, len)	(arch->_insl)((p), (buf), (len))#define	outsb(p, buf, len)	(arch->_outsb)((p), (buf), (len))#define	outss(p, buf, len)	(arch->_outss)((p), (buf), (len))#define	outsl(p, buf, len)	(arch->_outsl)((p), (buf), (len))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -