xref: /plan9-contrib/sys/src/9/boot/boot.h (revision 221a93d8c1b88955b6954c372655873ebc23a0c8)
1 typedef struct Method	Method;
2 struct Method
3 {
4 	char	*name;
5 	void	(*config)(Method*);
6 	int	(*connect)(void);
7 	char	*arg;
8 };
9 enum
10 {
11 	Statsz=	256,
12 	Nbarg=	16,
13 };
14 
15 extern void	authentication(int);
16 extern char*	bootdisk;
17 extern char*	rootdir;
18 extern int	(*cfs)(int);
19 extern int	cpuflag;
20 extern char	cputype[];
21 extern int	fflag;
22 extern int	kflag;
23 extern Method	method[];
24 extern void	(*pword)(int, Method*);
25 extern char	sys[];
26 extern uchar	hostkey[];
27 extern uchar	statbuf[Statsz];
28 extern int	bargc;
29 extern char	*bargv[Nbarg];
30 
31 /* libc equivalent */
32 extern int	cache(int);
33 extern char*	checkkey(Method*, char*, char*);
34 extern void	fatal(char*);
35 extern void	getpasswd(char*, int);
36 extern void	key(int, Method*);
37 extern int	outin(char*, char*, int);
38 extern int	plumb(char*, char*, int*, char*);
39 extern int	readfile(char*, char*, int);
40 extern long	readn(int, void*, long);
41 extern int	sendmsg(int, char*);
42 extern void	setenv(char*, char*);
43 extern void	settime(int, int, char*);
44 extern void	srvcreate(char*, int);
45 extern void	warning(char*);
46 extern int	writefile(char*, char*, int);
47 extern void	boot(int, char **);
48 extern void	doauthenticate(int, Method*);
49 extern int		old9p(int);
50 extern int	parsefields(char*, char**, int, char*);
51 
52 /* methods */
53 extern void	configil(Method*);
54 extern int	connectil(void);
55 
56 extern void	configtcp(Method*);
57 extern int	connecttcp(void);
58 
59 extern void	configlocal(Method*);
60 extern int	connectlocal(void);
61 
62 extern void	configsac(Method*);
63 extern int	connectsac(void);
64 
65 extern void	configpaq(Method*);
66 extern int	connectpaq(void);
67 
68 extern void	configembed(Method*);
69 extern int	connectembed(void);
70 
71 extern void	configip(int, char**, int);
72 
73 /* hack for passing authentication address */
74 extern char	*authaddr;
75