boot.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. extern void authentication(int);
  15. extern char* bootdisk;
  16. extern char* rootdir;
  17. extern int (*cfs)(int);
  18. extern int cpuflag;
  19. extern char cputype[];
  20. extern int fflag;
  21. extern int kflag;
  22. extern Method method[];
  23. extern void (*pword)(int, Method*);
  24. extern char sys[];
  25. extern uchar hostkey[];
  26. extern uchar statbuf[Statsz];
  27. extern int bargc;
  28. extern char *bargv[Nbarg];
  29. extern int pcload;
  30. /* libc equivalent */
  31. extern int cache(int);
  32. extern char* checkkey(Method*, char*, char*);
  33. extern void fatal(char*);
  34. extern void getpasswd(char*, int);
  35. extern void key(int, Method*);
  36. extern int outin(char*, char*, int);
  37. extern int plumb(char*, char*, int*, char*);
  38. extern int readfile(char*, char*, int);
  39. extern long readn(int, void*, long);
  40. extern void run(char *file, ...);
  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. /* methods */
  52. extern void configtcp(Method*);
  53. extern int connecttcp(void);
  54. extern void configlocal(Method*);
  55. extern int connectlocal(void);
  56. extern void configsac(Method*);
  57. extern int connectsac(void);
  58. extern void configpaq(Method*);
  59. extern int connectpaq(void);
  60. extern void configembed(Method*);
  61. extern int connectembed(void);
  62. extern void configip(int, char**, int);
  63. /* hack for passing authentication address */
  64. extern char *authaddr;