fns.h 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. void aamloop(int);
  2. void addconf(char*, ...);
  3. Alarm* alarm(int, void (*)(Alarm*), void*);
  4. void alarminit(void);
  5. Block* allocb(int);
  6. void apminit(void);
  7. int biosboot(int dev, char *file, Boot *b);
  8. void* biosgetfspart(int i, char *name, int chatty);
  9. void biosinitdev(int i, char *name);
  10. int biosinit(void);
  11. void biosprintbootdevs(int dev);
  12. void biosprintdevs(int i);
  13. int bootpboot(int, char*, Boot*);
  14. int bootpass(Boot*, void*, int);
  15. void cancel(Alarm*);
  16. int cdinit(void);
  17. void check(char*);
  18. void cgascreenputs(char*, int);
  19. int cistrcmp(char*, char*);
  20. int cistrncmp(char*, char*, int);
  21. void changeconf(char*, ...);
  22. void checkalarms(void);
  23. void clockinit(void);
  24. #define coherence() mb386()
  25. void consdrain(void);
  26. void consinit(char*, char*);
  27. void consputs(char*, int);
  28. void delay(int);
  29. uchar* etheraddr(int);
  30. int etherinit(void);
  31. void etherinitdev(int, char*);
  32. void etherprintdevs(int);
  33. int etherrxflush(int);
  34. int etherrxpkt(int, Etherpkt*, int);
  35. int ethertxpkt(int, Etherpkt*, int, int);
  36. #define evenaddr(x) /* 386 doesn't care */
  37. int floppyboot(int, char*, Boot*);
  38. int floppyinit(void);
  39. void floppyinitdev(int, char*);
  40. void floppyprintdevs(int);
  41. void* floppygetfspart(int, char*, int);
  42. void freeb(Block*);
  43. char* getconf(char*);
  44. ulong getcr0(void);
  45. ulong getcr2(void);
  46. ulong getcr3(void);
  47. ulong getcr4(void);
  48. int getfields(char*, char**, int, char);
  49. int getstr(char*, char*, int, char*, int);
  50. int gunzip(uchar*, int, uchar*, int);
  51. void i8042a20(void);
  52. void i8042init(void);
  53. void i8042reset(void);
  54. void* ialloc(ulong, int);
  55. void idle(void);
  56. void ilock(Lock*);
  57. int inb(int);
  58. ushort ins(int);
  59. ulong inl(int);
  60. void insb(int, void*, int);
  61. void inss(int, void*, int);
  62. void insl(int, void*, int);
  63. #define ioalloc(addr, len, align, name) (addr)
  64. #define iofree(addr)
  65. void iunlock(Lock*);
  66. int isaconfig(char*, int, ISAConf*);
  67. void kbdinit(void);
  68. void kbdchar(int);
  69. void machinit(void);
  70. void mb386(void);
  71. void meminit(ulong);
  72. void microdelay(int);
  73. void mmuinit(void);
  74. #define nelem(x) (sizeof(x)/sizeof(x[0]))
  75. char* nextelem(char*, char*);
  76. uchar nvramread(int);
  77. void outb(int, int);
  78. void outs(int, ushort);
  79. void outl(int, ulong);
  80. void outsb(int, void*, int);
  81. void outss(int, void*, int);
  82. void outsl(int, void*, int);
  83. void panic(char*, ...);
  84. ulong pcibarsize(Pcidev*, int);
  85. int pcicfgr8(Pcidev*, int);
  86. int pcicfgr16(Pcidev*, int);
  87. int pcicfgr32(Pcidev*, int);
  88. void pcicfgw8(Pcidev*, int, int);
  89. void pcicfgw16(Pcidev*, int, int);
  90. void pcicfgw32(Pcidev*, int, int);
  91. void pciclrbme(Pcidev*);
  92. void pciclrioe(Pcidev*);
  93. void pciclrmwi(Pcidev*);
  94. int pcigetpms(Pcidev*);
  95. void pcihinv(Pcidev*);
  96. Pcidev* pcimatch(Pcidev*, int, int);
  97. uchar pciintl(Pcidev *);
  98. uchar pciipin(Pcidev *, uchar);
  99. void pcireset(void);
  100. void pcisetbme(Pcidev*);
  101. void pcisetioe(Pcidev*);
  102. void pcisetmwi(Pcidev*);
  103. int pcisetpms(Pcidev*, int);
  104. void pcmcisread(PCMslot*);
  105. int pcmcistuple(int, int, int, void*, int);
  106. PCMmap* pcmmap(int, ulong, int, int);
  107. int pcmspecial(char*, ISAConf*);
  108. void pcmspecialclose(int);
  109. void pcmunmap(int, PCMmap*);
  110. void ptcheck(char*);
  111. void putcr3(ulong);
  112. void putidt(Segdesc*, int);
  113. void* pxegetfspart(int, char*, int);
  114. void qinit(IOQ*);
  115. void readlsconf(void);
  116. void sdaddconf(int);
  117. int sdboot(int, char*, Boot*);
  118. void sdcheck(char*);
  119. void* sdgetfspart(int, char*, int);
  120. int sdinit(void);
  121. void sdinitdev(int, char*);
  122. void sdprintdevs(int);
  123. int sdsetpart(int, char*);
  124. void setvec(int, void (*)(Ureg*, void*), void*);
  125. int splhi(void);
  126. int spllo(void);
  127. void splx(int);
  128. void trapinit(void);
  129. void trapdisable(void);
  130. void trapenable(void);
  131. void uartdrain(void);
  132. void uartspecial(int, void (*)(int), int (*)(void), int);
  133. void uartputs(IOQ*, char*, int);
  134. ulong umbmalloc(ulong, int, int);
  135. void umbfree(ulong, int);
  136. ulong umbrwmalloc(ulong, int, int);
  137. void upafree(ulong, int);
  138. ulong upamalloc(ulong, int, int);
  139. void warp86(char*, ulong);
  140. void warp9(ulong);
  141. int x86cpuid(int*, int*);
  142. void* xspanalloc(ulong, int, ulong);
  143. #define malloc(n) ialloc(n, 0)
  144. #define mallocz(n, c) ialloc(n, 0)
  145. #define free(v) while(0)
  146. #define GSHORT(p) (((p)[1]<<8)|(p)[0])
  147. #define GLONG(p) ((GSHORT(p+2)<<16)|GSHORT(p))
  148. #define GLSHORT(p) (((p)[0]<<8)|(p)[1])
  149. #define GLLONG(p) (((ulong)GLSHORT(p)<<16)|GLSHORT(p+2))
  150. #define PLLONG(p,v) (p)[3]=(v);(p)[2]=(v)>>8;(p)[1]=(v)>>16;(p)[0]=(v)>>24
  151. #define KADDR(a) ((void*)((ulong)(a)|KZERO))
  152. #define PADDR(a) ((ulong)(a)&~0xF0000000)
  153. #define HOWMANY(x, y) (((x)+((y)-1))/(y))
  154. #define ROUNDUP(x, y) (HOWMANY((x), (y))*(y))
  155. #define xalloc(n) ialloc(n, 0)
  156. #define xfree(v) while(0)
  157. #define lock(l) if(l){/* nothing to do */;}else{/* nothing to do */;}
  158. #define unlock(l) if(l){/* nothing to do */;}else{/* nothing to do */;}
  159. int dmacount(int);
  160. int dmadone(int);
  161. void dmaend(int);
  162. void dmainit(int);
  163. long dmasetup(int, void*, long, int);
  164. extern int (*_pcmspecial)(char *, ISAConf *);
  165. extern void (*_pcmspecialclose)(int);
  166. extern void devi82365link(void);
  167. extern void devpccardlink(void);