xref: /plan9-contrib/sys/src/9k/boot/boot.h (revision 532111f7bd696f808abc982252c7e1b4786fc4a7)
19ef1f84bSDavid du Colombier typedef struct Method	Method;
29ef1f84bSDavid du Colombier struct Method
39ef1f84bSDavid du Colombier {
49ef1f84bSDavid du Colombier 	char	*name;
59ef1f84bSDavid du Colombier 	void	(*config)(Method*);
69ef1f84bSDavid du Colombier 	int	(*connect)(void);
79ef1f84bSDavid du Colombier 	char	*arg;
89ef1f84bSDavid du Colombier };
99ef1f84bSDavid du Colombier enum
109ef1f84bSDavid du Colombier {
119ef1f84bSDavid du Colombier 	Statsz=	256,
129ef1f84bSDavid du Colombier 	Nbarg=	16,
139ef1f84bSDavid du Colombier };
149ef1f84bSDavid du Colombier 
15*532111f7SDavid du Colombier #define dprint(...) if(debugboot) fprint(2, __VA_ARGS__); else USED(debugboot)
16*532111f7SDavid du Colombier 
17*532111f7SDavid du Colombier extern char*	bootdisk;		/* defined in ../$arch/boot$CONF.c */
189ef1f84bSDavid du Colombier extern char*	rootdir;
199ef1f84bSDavid du Colombier extern int	(*cfs)(int);
209ef1f84bSDavid du Colombier extern int	cpuflag;
219ef1f84bSDavid du Colombier extern char	cputype[];
22*532111f7SDavid du Colombier extern int	debugboot;
239ef1f84bSDavid du Colombier extern int	fflag;
249ef1f84bSDavid du Colombier extern int	kflag;
25*532111f7SDavid du Colombier extern Method	method[];		/* defined in ../$arch/boot$CONF.c */
269ef1f84bSDavid du Colombier extern void	(*pword)(int, Method*);
279ef1f84bSDavid du Colombier extern char	sys[];
289ef1f84bSDavid du Colombier extern uchar	hostkey[];
299ef1f84bSDavid du Colombier extern uchar	statbuf[Statsz];
309ef1f84bSDavid du Colombier extern int	bargc;
319ef1f84bSDavid du Colombier extern char	*bargv[Nbarg];
329ef1f84bSDavid du Colombier 
339ef1f84bSDavid du Colombier /* libc equivalent */
34*532111f7SDavid du Colombier extern void	authentication(int);
359ef1f84bSDavid du Colombier extern int	cache(int);
369ef1f84bSDavid du Colombier extern char*	checkkey(Method*, char*, char*);
37*532111f7SDavid du Colombier extern int	chmod(char *file, int mode);
389ef1f84bSDavid du Colombier extern void	fatal(char*);
399ef1f84bSDavid du Colombier extern void	getpasswd(char*, int);
409ef1f84bSDavid du Colombier extern void	key(int, Method*);
41*532111f7SDavid du Colombier extern int	mountusbparts(void);
429ef1f84bSDavid du Colombier extern int	outin(char*, char*, int);
439ef1f84bSDavid du Colombier extern int	plumb(char*, char*, int*, char*);
449ef1f84bSDavid du Colombier extern int	readfile(char*, char*, int);
45*532111f7SDavid du Colombier extern int	readparts(void);
469ef1f84bSDavid du Colombier extern long	readn(int, void*, long);
479ef1f84bSDavid du Colombier extern void	run(char *file, ...);
48*532111f7SDavid du Colombier extern void	runv(char **argv);
499ef1f84bSDavid du Colombier extern int	sendmsg(int, char*);
509ef1f84bSDavid du Colombier extern void	setenv(char*, char*);
519ef1f84bSDavid du Colombier extern void	settime(int, int, char*);
529ef1f84bSDavid du Colombier extern void	srvcreate(char*, int);
53*532111f7SDavid du Colombier extern void	usbinit(int post);
549ef1f84bSDavid du Colombier extern void	warning(char*);
559ef1f84bSDavid du Colombier extern int	writefile(char*, char*, int);
569ef1f84bSDavid du Colombier extern void	boot(int, char **);
579ef1f84bSDavid du Colombier extern void	doauthenticate(int, Method*);
589ef1f84bSDavid du Colombier extern int	old9p(int);
599ef1f84bSDavid du Colombier extern int	parsefields(char*, char**, int, char*);
609ef1f84bSDavid du Colombier 
619ef1f84bSDavid du Colombier /* methods */
629ef1f84bSDavid du Colombier extern void	configtcp(Method*);
639ef1f84bSDavid du Colombier extern int	connecttcp(void);
649ef1f84bSDavid du Colombier 
659ef1f84bSDavid du Colombier extern void	configlocal(Method*);
669ef1f84bSDavid du Colombier extern int	connectlocal(void);
679ef1f84bSDavid du Colombier 
689ef1f84bSDavid du Colombier extern void	configpaq(Method*);
699ef1f84bSDavid du Colombier extern int	connectpaq(void);
709ef1f84bSDavid du Colombier 
719ef1f84bSDavid du Colombier extern void	configembed(Method*);
729ef1f84bSDavid du Colombier extern int	connectembed(void);
739ef1f84bSDavid du Colombier 
749ef1f84bSDavid du Colombier extern void	configip(int, char**, int);
759ef1f84bSDavid du Colombier 
769ef1f84bSDavid du Colombier /* hack for passing authentication address */
779ef1f84bSDavid du Colombier extern char	*authaddr;
78