DOSIF.H
上传用户:xiaogehua
上传日期:2007-01-08
资源大小:1183k
文件大小:7k
源码类别:

操作系统开发

开发平台:

Asm

  1. /*
  2. ;    File              : $Workfile$
  3. ;
  4. ;    Description       :
  5. ;
  6. ;    Original Author   : DIGITAL RESEARCH
  7. ;
  8. ;    Last Edited By    : $CALDERA$
  9. ;
  10. ;-----------------------------------------------------------------------;
  11. ;    Copyright Work of Caldera, Inc. All Rights Reserved.
  12. ;      
  13. ;    THIS WORK IS A COPYRIGHT WORK AND CONTAINS CONFIDENTIAL,
  14. ;    PROPRIETARY AND TRADE SECRET INFORMATION OF CALDERA, INC.
  15. ;    ACCESS TO THIS WORK IS RESTRICTED TO (I) CALDERA, INC. EMPLOYEES
  16. ;    WHO HAVE A NEED TO KNOW TO PERFORM TASKS WITHIN THE SCOPE OF
  17. ;    THEIR ASSIGNMENTS AND (II) ENTITIES OTHER THAN CALDERA, INC. WHO
  18. ;    HAVE ACCEPTED THE CALDERA OPENDOS SOURCE LICENSE OR OTHER CALDERA LICENSE
  19. ;    AGREEMENTS. EXCEPT UNDER THE EXPRESS TERMS OF THE CALDERA LICENSE
  20. ;    AGREEMENT NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED,
  21. ;    COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED,
  22. ;    CONDENSED, EXPANDED, COLLECTED, COMPILED, LINKED, RECAST,
  23. ;    TRANSFORMED OR ADAPTED WITHOUT THE PRIOR WRITTEN CONSENT OF
  24. ;    CALDERA, INC. ANY USE OR EXPLOITATION OF THIS WORK WITHOUT
  25. ;    AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO CRIMINAL AND
  26. ;    CIVIL LIABILITY.
  27. ;-----------------------------------------------------------------------;
  28. ;
  29. ;    *** Current Edit History ***
  30. ;    *** End of Current Edit History ***
  31. ;
  32. ;    $Log$
  33. ;
  34. ;    ENDLOG
  35. */
  36. EXTERN VOID CDECL debug(VOID);
  37. #define EXT_SUBST 1
  38. #if defined(MSC) || defined(MWC) || defined(TURBOC) || defined(__WATCOMC__)
  39. #define  bdos       _BDOS
  40. EXTERN BYTE * CDECL   heap_get(WORD);
  41. EXTERN BYTE * CDECL   heap(VOID);
  42. EXTERN VOID CDECL     heap_set(BYTE *);
  43. #endif
  44. #if !defined(MWC)
  45. EXTERN BYTE * CDECL   stack(WORD);
  46. #endif
  47. #if defined(CPM)
  48. #define     ms_drv_space         cpm_drv_space
  49. #define     ms_x_mkdir           cpm_x_mkdir
  50. #define     ms_x_rmdir           cpm_x_rmdir
  51. #define     ms_x_creat           cpm_x_creat
  52. #define     ms_x_open            cpm_x_open
  53. #define     ms_x_close           cpm_x_close
  54. #define     far_read             cpm_far_read
  55. #define     far_write            cpm_far_write
  56. #define     ms_x_read            cpm_x_read
  57. #define     ms_x_write           cpm_x_write
  58. #define     ms_x_unlink          cpm_x_unlink
  59. #define     ms_x_lseek           cpm_x_lseek
  60. #define     ms_x_ioctl  cpm_x_ioctl
  61. #define     ms_x_chmod           cpm_x_chmod
  62. #define     ms_x_curdir          cpm_x_curdir
  63. #define     ms_x_first           cpm_x_first
  64. #define     ms_x_next            cpm_x_next
  65. #define     ms_x_rename          cpm_x_rename
  66. #define     ms_x_datetime        cpm_x_datetime
  67. #endif
  68. EXTERN VOID CDECL     ms_drv_set(WORD);
  69. EXTERN WORD CDECL     ms_drv_get(VOID);
  70. EXTERN WORD CDECL     ms_drv_space(UWORD, UWORD * ,UWORD *, UWORD *);
  71. EXTERN WORD CDECL     ms_x_chdir(BYTE *);
  72. EXTERN WORD CDECL     ms_x_mkdir(BYTE *);
  73. EXTERN WORD CDECL     ms_x_rmdir(BYTE *);
  74. EXTERN WORD CDECL     ms_s_country(INTERNAT *);
  75. EXTERN BYTE CDECL     toupper(BYTE);
  76. EXTERN WORD CDECL     ms_x_creat(BYTE *, UWORD);
  77. EXTERN WORD CDECL     ms_x_open(BYTE *, UWORD);
  78. EXTERN WORD CDECL     ms_x_close(WORD);
  79. EXTERN WORD CDECL     ms_x_fdup(UWORD, UWORD);
  80. EXTERN WORD CDECL     ms_x_unique(BYTE *, UWORD);
  81. EXTERN WORD CDECL     far_read(UWORD, BYTE FAR *, UWORD);
  82. EXTERN WORD CDECL     far_write(UWORD, BYTE FAR *, UWORD);
  83. EXTERN WORD CDECL     ms_x_read(UWORD, BYTE *, UWORD);
  84. EXTERN WORD CDECL     ms_x_write(UWORD, BYTE *, UWORD);
  85. EXTERN WORD CDECL     ms_x_unlink(BYTE *);
  86. EXTERN LONG CDECL     ms_x_lseek(UWORD, LONG, UWORD);
  87. EXTERN WORD CDECL     ms_x_ioctl(UWORD);
  88. EXTERN WORD CDECL     ms_x_setdev(UWORD, UBYTE);
  89. EXTERN WORD CDECL     ms_x_chmod(BYTE *, UWORD, UWORD);
  90. EXTERN WORD CDECL     ms_x_curdir(UWORD, BYTE *);
  91. EXTERN WORD CDECL     ms_x_wait(VOID);
  92. EXTERN WORD CDECL     ms_x_first(BYTE *, UWORD, DTA *);
  93. EXTERN WORD CDECL     ms_x_next(DTA *);
  94. EXTERN WORD CDECL     ms_x_rename(BYTE *, BYTE *);
  95. EXTERN WORD CDECL     ms_x_datetime(BOOLEAN, UWORD, UWORD *, UWORD *);
  96. EXTERN WORD CDECL     ms_settime(SYSTIME *);
  97. EXTERN WORD CDECL     ms_setdate(SYSDATE *);
  98. EXTERN VOID CDECL     ms_gettime(SYSTIME *);
  99. EXTERN VOID CDECL     ms_getdate(SYSDATE *);
  100. EXTERN VOID FAR * CDECL ms_idle_ptr(VOID);
  101. EXTERN WORD CDECL     ms_switchar(VOID);
  102. EXTERN WORD CDECL     ms_x_expand(BYTE *, BYTE *);
  103. EXTERN VOID CDECL     mem_alloc(BYTE FAR * NEAR *, UWORD *, UWORD, UWORD);
  104. EXTERN VOID CDECL     mem_free (BYTE FAR * NEAR *);
  105. EXTERN UWORD  CDECL psp_poke(UWORD, UWORD); /* Poke Handle Table     */
  106. EXTERN BOOLEAN CDECL dbcs_expected(VOID);
  107. EXTERN BOOLEAN CDECL dbcs_lead(BYTE);
  108. #if !defined(CDOSTMP)
  109. EXTERN UWORD CDECL    ioctl_ver(VOID);
  110. EXTERN VOID CDECL     ms_x_exit();
  111. EXTERN VOID CDECL     ms_f_verify(BOOLEAN);
  112. EXTERN BOOLEAN CDECL  ms_set_break(BOOLEAN);
  113. EXTERN WORD CDECL     ms_f_getverify(VOID);
  114. EXTERN WORD CDECL     ms_f_parse (BYTE *, BYTE *, UBYTE);
  115. EXTERN WORD CDECL     ms_f_delete (BYTE *);
  116. EXTERN VOID CDECL     restore_term_addr();
  117. #endif
  118. #if defined(DOSPLUS)
  119. EXTERN WORD CDECL     ms_x_getcp(UWORD *, UWORD *);
  120. EXTERN WORD CDECL     ms_x_setcp(UWORD);
  121. /*EXTERN VOID CDECL     hiload_set(BOOLEAN);*/
  122. EXTERN WORD CDECL     get_upper_memory_link(VOID);
  123. EXTERN VOID CDECL     set_upper_memory_link(WORD);
  124. EXTERN WORD CDECL     get_alloc_strategy(VOID);
  125. EXTERN VOID CDECL     set_alloc_strategy(WORD);
  126. EXTERN WORD CDECL     alloc_region();
  127. EXTERN VOID CDECL     free_region(WORD);
  128. #endif
  129. EXTERN BOOLEAN CDECL  env_entry(BYTE *, UWORD);  /* CSUP.ASM */
  130. EXTERN BOOLEAN CDECL  env_scan(BYTE *, BYTE *);  /* CSUP.ASM */
  131. EXTERN BOOLEAN CDECL  env_del(BYTE *); /* CSUP.ASM */
  132. EXTERN BOOLEAN CDECL  env_ins(BYTE *); /* CSUP.ASM */
  133. #if defined(CDOSTMP)
  134. #define system bdos /* Call the BDOS Function for Common routines */
  135. #else
  136. #define system msdos /* Call the MSDOS Function for Common routines */
  137. EXTERN WORD CDECL     msdos();
  138. EXTERN WORD CDECL     readline(BYTE *);
  139. #endif
  140. #if defined(CDOSTMP) || defined(CDOS)
  141. EXTERN VOID CDECL     vc_data(UWORD *, UWORD *, UWORD *);
  142. EXTERN WORD CDECL     bdos(WORD,...);
  143. #endif
  144. #if !defined(DOSPLUS) || !defined(EXT_SUBST)
  145. EXTERN ULONG CDECL    physical_drvs(VOID);
  146. EXTERN ULONG CDECL    network_drvs(VOID);
  147. #endif
  148. #if !defined(EXT_SUBST)
  149. EXTERN ULONG CDECL    logical_drvs(VOID);
  150. EXTERN UWORD CDECL    pdrive(UWORD);
  151. #endif
  152. EXTERN UWORD CDECL    exec(BYTE *, UWORD, BYTE *, BOOLEAN);
  153. #if !defined(DOSPLUS)
  154. EXTERN UWORD FAR * CDECL sysdat(UWORD);
  155. #define SYSDATW(x) sysdat(x)
  156. #define SYSDATB(x) ((UBYTE FAR *) sysdat(x))
  157. #endif
  158. EXTERN BOOLEAN CDECL physical_drive(WORD);
  159. EXTERN BOOLEAN CDECL logical_drive(WORD);
  160. EXTERN BOOLEAN CDECL network_drive(WORD);
  161. EXTERN BOOLEAN CDECL extended_error(VOID);
  162. EXTERN WORD CDECL get_lines_page(VOID);
  163. EXTERN WORD CDECL get_scr_width(VOID);
  164. EXTERN WORD CDECL novell_copy(WORD,WORD,ULONG);