boot.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. /* libc equivalent */
  30. extern int cache(int);
  31. extern char* checkkey(Method*, char*, char*);
  32. extern void fatal(char*);
  33. extern void getpasswd(char*, int);
  34. extern void key(int, Method*);
  35. extern int outin(char*, char*, int);
  36. extern int plumb(char*, char*, int*, char*);
  37. extern int readfile(char*, char*, int);
  38. extern long readn(int, void*, long);
  39. extern int sendmsg(int, char*);
  40. extern void setenv(char*, char*);
  41. extern void settime(int, int, char*);
  42. extern void srvcreate(char*, int);
  43. extern void warning(char*);
  44. extern int writefile(char*, char*, int);
  45. extern void boot(int, char **);
  46. extern void doauthenticate(int, Method*);
  47. extern int old9p(int);
  48. extern int parsefields(char*, char**, int, char*);
  49. /* methods */
  50. extern void configil(Method*);
  51. extern int connectil(void);
  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;