rtps.inc
上传用户:xiaoan1112
上传日期:2013-04-11
资源大小:19621k
文件大小:7k
源码类别:

操作系统开发

开发平台:

Visual C++

  1. ;***
  2. ; rtps.inc - 04-Aug-87
  3. ;***
  4. ; Copyright <C> 1987, Microsoft Corporation
  5. ;
  6. ;Purpose:
  7. ; This include file contains runtime constants needed by both the
  8. ; runtime and QBI.  This file, along with fdb.inc, array.inc, and
  9. ; messages.inc is part of a runtime "release" to QBI.
  10. ;
  11. ; WARNING: WARNING: WARNING: WARNING: WARNING: WARNING: WARNING: WARNING:
  12. ; WARNING:
  13. ; WARNING:  When making changes to this file, be sure to make equivalent
  14. ; WARNING:  changes to file rtps.h
  15. ; WARNING:
  16. ; WARNING: WARNING: WARNING: WARNING: WARNING: WARNING: WARNING: WARNING:
  17. ;
  18. ;******************************************************************************
  19. RTPS_INC = -1 ;remember that this file has been included
  20. ;==============================================================================
  21. ;
  22. ;QBI version & format revision constants (used by U.L. code & Binary SAVE/LOAD)
  23. ;   The version word is now a family id, it indicates what "family" the saving
  24. ;   product belongs to.  The revision byte indicates the revision of the
  25. ;   product within its family.
  26. BINSAV_BASICVersion EQU 0001h ;[15] BASIC version number for QB 4.5
  27. BINSAV_REVISION_BYTE EQU 00h ;[15] format revision byte
  28. QLB_BASICVersion EQU 0000h ;[16] BASIC version no. for QB 4.x QLB's
  29. QLB_REVISION_BYTE EQU 13h ;[16] QuickLib format revision byte
  30. ;Log of when BINSAV_REVISION_BYTE was changed:
  31. ;Date Changed To Reason
  32. ;------------------------------------------------------------------------
  33. ;23-Feb-87     01 First change. Unknown number of older
  34. ; binary-saved files in existence.
  35. ;27-Feb-87          02 No longer putting BLOCK_MOD at start of each
  36. ; module, since we only save one module per file.
  37. ;16-Mar-87          03 Code to support compiling directly from 
  38. ; our Binary SAVE format needs module name table
  39. ; to be saved before the module text table.
  40. ;10-Jun-87          04 Changed for todays internal QB release. Must
  41. ; be changed whenever peropcod.txt is changed.
  42. ;10-Jun-87 (PM)     05 Changed for todays internal QB release. Must
  43. ; be changed whenever peropcod.txt is changed.
  44. ;17-Jun-87     06 Changed for Beta Release because of peropcode
  45. ; changes (DMC).
  46. ;30-Jun-87          07 Changed based on actual change to binsav format
  47. ; (now saving both mrs flag bytes)
  48. ;15-Jul-87     08 Peropcod changes. (DMC)
  49. ;21-Jul-87     09 Peropcod changes and second beta. (DMC)
  50. ;03-Aug-87     0a Peropcod changes. (DMC)
  51. ;04-Aug-87     0b Peropcod changes. (DMC)
  52. ;10-Aug-87     0c VarMgr changes. (DMC)
  53. ;26-Aug-87     0d QLB dgroup compression changes. (DMC)
  54. ;31-Aug-87     0e C startup changes. (DMC)
  55. ;09-Sep-87     0f rtmint changes. (DMC)
  56. ;14-Sep-87     10 rtmint changes. (DMC)
  57. ;15-Sep-87     11 First final (?) beta REL.19 (DMC)
  58. ;15-Sep-87     12 First final (?) beta REL.20 (DMC)
  59. ;??-???-87     13 Release version REL.35 (???)
  60. ;11-Nov-87     14 First Beta for BC6.  Want to be backwards
  61. ; compatable to release version of QB4.
  62. ;16-Nov-87     13 We're stuck at 13 for QB4 release compatibility!
  63. ;25-May-88     14 (EB) Changed for EB only, to make binary
  64. ; incompatabilities easier to detect (BLR)
  65. ;08-Jun-88     15 (EB) Changed for EB only, due to changes in nam,
  66. ; var, rs, and pcode tables to leave 2nd word
  67. ; of each far heap buffer unused (used by Omega)
  68. ;15-Jun-88     16 (EB) Changed for EB only, due to additional pcode
  69. ; changes to leave 2nd word free.
  70. ;24-Jun-88     17 (EB) Changed for EB only, removed data_otxfirst
  71. ;30-Jun-88     18 Changed many AVtRfs to AIdLds in pcode
  72. ;05-Jul-88     19 Removed obsolete pcodes
  73. ;07-Jul-88     1a Changed coercion pcode
  74. ;11-Jul-88     00 Rewound due to change in binary format.  BASIC
  75. ; version number is now a family number. 0 = QB
  76. ; (v4.0 a,b), 1 = QB (v4.5 and later), 2 = EB.
  77. ;05-Aug-88     01 (EB) SQL pcode change
  78. ;==============================================================================
  79. ; [LINE] INPUT prompt flags
  80. FINP_QSupress EQU 1 ;set if "prompt" was followed by a comma,
  81. ;not a semicolon, indicating "? " is not to be
  82. ;output after prompt.
  83. FINP_CrLf EQU 2 ;set if INPUT was followed by optional ";",
  84. ;meaning CrLf is not to be output when user
  85. ;presses return.
  86. FINP_Prompt EQU 4 ;set if the optional SDPrompt argument is included.
  87. ; Communications constants
  88. cbComBuf EQU 512 ;[1] default COM buffer size
  89. ; File LOCK & UNLOCK Constants
  90. LOCK_UNLOCK EQU 0001h ;set if operation is UNLOCK, not LOCK
  91. LOCK_1stToLast EQU 0002h ;set if only part of file locked
  92. LOCK_RtMask EQU 0003h ;bits which are meaningful to runtime
  93. LOCK_Def1stArg EQU 4000h ;set if 1st arg defaulted - used by list
  94. LOCK_DefLastArg EQU 8000h ;set if last arg defaulted- used by exec
  95. ;File Open mode, access, locking flags
  96. MD_SQI EQU 1 ; for INPUT
  97. MD_SQO EQU 2 ; for OUTPUT
  98. MD_RND EQU 4 ; [for RANDOM]
  99. MD_APP EQU 8 ; for APPEND
  100. MD_BIN EQU 20H ; for BINARY
  101. MD_DEFAULT EQU MD_RND
  102. ACCESS_READ EQU 1 ; READ
  103. ACCESS_WRITE EQU 2 ; WRITE
  104. ACCESS_BOTH EQU 3 ; READ WRITE
  105. LOCK_READ EQU 30H ; LOCK READ
  106. LOCK_WRITE EQU 20H ; LOCK WRITE
  107. LOCK_BOTH EQU 10H ; LOCK READ WRITE
  108. LOCK_SHARED EQU 40H ; LOCK SHARED
  109. ;----------------------------------------------------------------------
  110. ;DOS does not allow you to do a CD (change directory) to a path > 64,
  111. ;but once you are in a directory whose path is 64 bytes long, DOS
  112. ;will let you open a 64 byte relative path, making the maximum length
  113. ;of a filename accessible by DOS = 128.  Since the runtime just has 1
  114. ;static copy of a filename buffer, they decided to let running programs
  115. ;access files whose full path > 64 (even though you can't get into the
  116. ;lowest directory from DOS.
  117. ;  The user interface chooses to limit the path to 64 for the directory,
  118. ;and 12 for the filename (and 1 for a 0-byte terminator).  This is for
  119. ;two reasons:
  120. ;  - The directory that source files are saved in should be accessible by
  121. ;    all programs (including command.com).  
  122. ;  - There are several layers of functions in the user interface code that
  123. ;    each need a copy of a filename.  The increased stack demands of going
  124. ;    to 128 are prohibitive.
  125. ;
  126. FILNAML = 128d+1 ;max. filename length for runtime
  127. FILNAML64 = 64d+12d+1 ;max. filename length for user interface
  128. ;Runtime Value Types
  129. VT_I2 EQU 02h ;short integer
  130. VT_I4 EQU 14h ;long integer
  131. VT_R4 EQU 04h ;32 bit real
  132. VT_R8 EQU 08h ;64 bit real
  133. VT_SD EQU 03h ;string
  134. ;Runtime bits for b$CtrlFlags
  135. NoSTACKINIT EQU 01h ;Doesn't call B$STACKINIT when set during B$RUNINI
  136. ; or B$CHNINI calls.
  137. ;Extended Out of Memory error codes for b$errinfo.
  138. OMErr_OM   EQU 00h ;generic OM error
  139. OMErr_NH   EQU 01h ;out of near heap space ( DS > 64k )
  140. OMErr_FH   EQU 02h ;out or far heap space ( out of system memory )
  141. OMErr_STK  EQU 03h ;out of stack space
  142. OMErr_Proc EQU 04h ;out of Procedure text table space ( > 64k )
  143. OMErr_Mod  EQU 05h ;out of Module text table space ( > 64k )
  144. OMErr_Inc  EQU 06h ;out of Include file text table space ( > 64k )
  145. OMErr_Doc  EQU 07h ;out of Document file text table space ( > 64k )
  146. ;[8]File type constants for user-option path searching
  147. LIBFILE    EQU 0 ;[8]
  148. EXEFILE    EQU 6 ;[8]
  149. INCFILE    EQU 12 ;[8]
  150. HELPFILE   EQU 18 ;[8]
  151. ; Minimum space for NMALLOC buffer.  Moved here from const.inc with rev [17].
  152. ;
  153. ; This is the minimum space which must be allocated in the NMALLOC segment
  154. ; for any attempted near malloc() call to fail gracefully.  Enough space
  155. ; must be allocated for a "C" heap header.
  156. ;
  157. NMALLOC_MIN = 06H ;Minimum NMALLOC space needed.