boot.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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 char username[];
  27. extern uchar statbuf[Statsz];
  28. extern int bargc;
  29. extern char *bargv[Nbarg];
  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 int sendmsg(int, char*);
  41. extern void setenv(char*, char*);
  42. extern void settime(int, int, char*);
  43. extern void srvcreate(char*, int);
  44. extern void setusername(int, Method*);
  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 configil(Method*);
  53. extern int connectil(void);
  54. extern void configtcp(Method*);
  55. extern int connecttcp(void);
  56. extern void configlocal(Method*);
  57. extern int connectlocal(void);
  58. extern void configsac(Method*);
  59. extern int connectsac(void);
  60. extern void configpaq(Method*);
  61. extern int connectpaq(void);
  62. extern void configembed(Method*);
  63. extern int connectembed(void);
  64. extern void configip(int, char**, int);
  65. /* hack for passing authentication address */
  66. extern char *authaddr;