85 lines · 2.3 KB · C
RawDownload
/*  * This file is part of the UCB release of Plan 9. It is subject to the license * terms in the LICENSE file found in the top-level directory of this * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No * part of the UCB release of Plan 9, including this file, may be copied, * modified, propagated, or distributed except according to the terms contained * in the LICENSE file. */ typedef struct Method	Method;struct Method{	char	*name;	void	(*config)(Method*);	int	(*connect)(void);	char	*arg;};enum{	Statsz=	256,	Nbarg=	16,}; extern char*	bootdisk;		/* defined in ../$arch/boot$CONF.c */extern char*	rootdir;extern int	(*cfs)(int);extern int	cpuflag;extern char	cputype[];extern int	debugboot;extern int	fflag;extern int	kflag;extern Method	method[];		/* defined in ../$arch/boot$CONF.c */extern void	(*pword)(int, Method*);extern char	sys[];extern uchar	hostkey[];extern uchar	statbuf[Statsz];extern int	bargc;extern char	*bargv[Nbarg];extern int	pcload; /* libc equivalent */extern void	authentication(int);extern int	cache(int);extern char*	checkkey(Method*, char*, char*);extern int	chmod(char *file, int mode);extern void	fatal(char*);extern void	getpasswd(char*, int);extern void	key(int, Method*);extern int	mountusbparts(void);extern int	outin(char*, char*, int);extern int	plumb(char*, char*, int*, char*);extern int	readfile(char*, char*, int);extern int	readparts(void);extern long	readn(int, void*, long);extern void	run(char *file, ...);extern void	runv(char **argv);extern int	sendmsg(int, char*);extern void	setenv(char*, char*);extern void	settime(int, int, char*);extern void	srvcreate(char*, int);extern void	usbinit(int post);extern void	warning(char*);extern int	writefile(char*, char*, int);extern void	boot(int, char **);extern void	doauthenticate(int, Method*);extern int		old9p(int);extern int	parsefields(char*, char**, int, char*); /* methods */extern void	configtcp(Method*);extern int	connecttcp(void); extern void	configlocal(Method*);extern int	connectlocal(void); extern void	configpaq(Method*);extern int	connectpaq(void); extern void	configembed(Method*);extern int	connectembed(void); extern void	configip(int, char**, int); /* hack for passing authentication address */extern char	*authaddr;