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