nospc.h
上传用户:hepax88
上传日期:2007-01-03
资源大小:1101k
文件大小:3k
源码类别:

TCP/IP协议栈

开发平台:

Visual C++

  1. #ifndef _PC_H
  2. #define _PC_H
  3. #define _HARDWARE_H
  4. #ifndef _GLOBAL_H
  5. #include "global.h"
  6. #endif
  7. #define NSW 10 /* Number of stopwatch "memories" */
  8. #define KBIRQ 1 /* IRQ for PC keyboard */
  9. /* Extended keyboard codes for function keys */
  10. #define F1 59 /* Function key 1 */
  11. #define F2 60
  12. #define F3 61
  13. #define F4 62
  14. #define F5 63
  15. #define F6 64
  16. #define F7 65
  17. #define F8 66
  18. #define F9 67
  19. #define F10 68
  20. #define CURSHOM 71 /* Home key */
  21. #define CURSUP 72 /* Up arrow key */
  22. #define PAGEUP 73 /* Page up key */
  23. #define CURSLEFT 75 /* Cursor left key */
  24. #define CURSRIGHT 77 /* Cursor right key */
  25. #define CURSEND 79 /* END key */
  26. #define CURSDWN 80 /* Down arrow key */
  27. #define PAGEDWN 81 /* Page down key */
  28. #define AF1 104 /* ALT-F1 */
  29. #define AF2 105
  30. #define AF3 106
  31. #define AF4 107
  32. #define AF5 108
  33. #define AF6 109
  34. #define AF7 110
  35. #define AF8 111
  36. #define AF9 112
  37. #define AF10 113
  38. #define AF11 139
  39. #define AF12 140
  40. struct stopwatch {
  41. long calls;
  42. uint16 maxval;
  43. uint16 minval;
  44. int32 totval;
  45. };
  46. extern struct stopwatch Sw[];
  47. extern uint16 Intstk[]; /* Interrupt stack defined in pcgen.asm */
  48. extern uint16 Stktop[]; /* Top of interrupt stack */
  49. extern void (*Shutdown[])(); /* List of functions to call at shutdown */
  50. extern int Mtasker; /* Type of multitasker, if any */
  51. /* In n8250.c: */
  52. void asytimer(void);
  53. /* In dos.c: */
  54. extern unsigned *Refcnt;
  55. int _creat(const char *file,int mode);
  56. int _open(const char *file,int mode);
  57. int dup(int fd);
  58. int _close(int fd);
  59. int _read(int fd,void *buf,unsigned cnt);
  60. int _write(int fd,const void *buf,unsigned cnt);
  61. long _lseek(int fd,long offset,int whence);
  62. /* In dma.c: */
  63. unsigned long dma_map(void *p,unsigned short len,int copy);
  64. void dma_unmap(void *p,int copy);
  65. int dis_dmaxl(int chan);
  66. int ena_dmaxl(int chan);
  67. unsigned long dmalock(void *p,unsigned short len);
  68. unsigned long dmaunlock(unsigned long physaddr,unsigned short len);
  69. void *dma_malloc(int32 *physaddr,unsigned short len);
  70. /* In random.c: */
  71. void rtype(uint16 c);
  72. /* In scc.c: */
  73. void scctimer(void);
  74. void sccstop(void);
  75. /* In pc.c: */
  76. long bioscnt(void);
  77. void clrbit(unsigned port,char bits);
  78. void ctick(void);
  79. int32 divrem(int32 dividend,uint16 divisor);
  80. INTERRUPT  (*getirq(unsigned int))(void);
  81. int getmask(unsigned irq);
  82. int intcontext(void);
  83. void ioinit(void);
  84. void iostop(void);
  85. void kbsave(int c);
  86. int kbread(void);
  87. int maskoff(unsigned irq);
  88. int maskon(unsigned irq);
  89. void pctick(void);
  90. void setbit(unsigned port,char bits);
  91. int setirq(unsigned irq,INTERRUPT (*handler)(void));
  92. void sysreset(void);
  93. void systick(void);
  94. void writebit(unsigned port,char mask,int val);
  95. /* In pcgen.asm: */
  96. INTERRUPT btick(void);
  97. void chktasker(void);
  98. void chtimer(INTERRUPT (*)());
  99. int32 divrem(int32 dividend,uint16 divisor);
  100. uint16 getss(void);
  101. void giveup(void);
  102. uint16 kbraw(void);
  103. uint16 longdiv(uint16 divisor,int n,uint16 *dividend);
  104. uint16 longmul(uint16 multiplier,int n,uint16 *multiplicand);
  105. INTERRUPT nullvec(void);
  106. INTERRUPT kbint(void);
  107. void uchtimer(void);
  108. uint16 clockbits(void);
  109. /* In stopwatch.asm: */
  110. void swstart(void);
  111. uint16 stopval(void);
  112. /* In sw.c: */
  113. void swstop(int n);
  114. #endif /* _PC_H */