Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;*****************************************************************************
  2. ;*
  3. ;*                            Open Watcom Project
  4. ;*
  5. ;*    Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
  6. ;*
  7. ;*  ========================================================================
  8. ;*
  9. ;*    This file contains Original Code and/or Modifications of Original
  10. ;*    Code as defined in and that are subject to the Sybase Open Watcom
  11. ;*    Public License version 1.0 (the 'License'). You may not use this file
  12. ;*    except in compliance with the License. BY USING THIS FILE YOU AGREE TO
  13. ;*    ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
  14. ;*    provided with the Original Code and Modifications, and is also
  15. ;*    available at www.sybase.com/developer/opensource.
  16. ;*
  17. ;*    The Original Code and all software distributed under the License are
  18. ;*    distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  19. ;*    EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
  20. ;*    ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
  21. ;*    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
  22. ;*    NON-INFRINGEMENT. Please see the License for the specific language
  23. ;*    governing rights and limitations under the License.
  24. ;*
  25. ;*  ========================================================================
  26. ;*
  27. ;* Description:  C runtime read/write data (386 version).
  28. ;*
  29. ;*****************************************************************************
  30.  
  31.  
  32.         name    crwdata
  33.  
  34. .387
  35. .386p
  36.  
  37.         assume  nothing
  38.  
  39. DGROUP group _DATA
  40.  
  41. _TEXT segment byte public 'CODE'
  42.         assume cs:_TEXT
  43. __null_FPE_rtn proc near
  44.         ret
  45. __null_FPE_rtn endp
  46. _TEXT ends
  47.  
  48. _DATA   segment dword public 'DATA'
  49.  
  50.         assume  DS:DGROUP
  51.  
  52. ifndef __NETWARE__
  53. _dynend      dd 0               ; top of dynamic data area
  54. _curbrk      dd 0               ; top of usable memory
  55. endif
  56. ifndef __QNX__
  57. ifndef __LINUX__
  58. ifndef _NETWARE_LIBC
  59. _LpCmdLine   dd 0               ; pointer to raw command line
  60. _LpPgmName   dd 0               ; pointer to program name (for argv[0])
  61. endif
  62. ifdef __NT__
  63. _LpDllName   dd 0               ; pointer to dll name (for OS/2,WIN32)
  64. _LpwCmdLine  dd 0               ; pointer to widechar raw command line
  65. _LpwPgmName  dd 0               ; pointer to widechar program name (for argv[0])
  66. _LpwDllName  dd 0               ; pointer to widechar dll name (for OS/2,WIN32)
  67. endif
  68. ifdef __OS2__
  69. _LpDllName   dd 0               ; pointer to dll name (for OS/2,WIN32)
  70. _LpwCmdLine  dd 0               ; pointer to widechar raw command line
  71. _LpwPgmName  dd 0               ; pointer to widechar program name (for argv[0])
  72. _LpwDllName  dd 0               ; pointer to widechar dll name (for OS/2,WIN32)
  73. endif
  74. ifdef __DOS__
  75. _psp         dw 0,0             ; segment addr of program segment prefix
  76. __x386_stacklow label   dword
  77. endif
  78. endif
  79. endif
  80. _STACKLOW  dd 0                 ; lowest address in stack
  81. _STACKTOP  dd 0                 ; highest address in stack
  82. __EFG_printf dd 0
  83. __EFG_scanf  dd 0
  84. __ASTACKSIZ dd 0                ; alternate stack size
  85. __ASTACKPTR dd 0                ; alternate stack pointer
  86. ifndef __NETWARE__
  87. _cbyte     dd 0                 ; used by getch, getche
  88. _cbyte2    dd 0                 ; used by getch, getche
  89. _child     dd 0                 ; non-zero => a spawned process is running
  90. endif
  91. __no87     dw 0                 ; non-zero => "NO87" environment var present
  92. ifndef __NETWARE__
  93. ifdef __DOS__
  94. _Extender         db 0          ; see clib\h\extender.inc for values
  95. _ExtenderSubtype  db 0          ; non-zero -> variant of extender
  96. __X32VM    db 0                 ; non-zero => X-32VM DOS Extender
  97. endif
  98. _Envptr    dd 0                 ; offset part of environment pointer
  99. _Envseg    dw 0                 ; segment containing environment strings
  100. ifndef __QNX__
  101. ifndef __LINUX__
  102. _osmajor   db 0                 ; major DOS version number
  103. _osminor   db 0                 ; minor DOS version number
  104. ifdef __NT__
  105. _osbuild   dw 0                 ; operating system build number
  106. _osver     dd 0                 ; operating system build number
  107. _winmajor  dd 0                 ; operating system major version number
  108. _winminor  dd 0                 ; operating system minor version number
  109. _winver    dd 0                 ; operating system version number
  110. endif
  111. endif
  112. endif
  113. endif
  114. __FPE_handler dd __null_FPE_rtn ; FPE handler
  115.  
  116.  
  117. ifndef __QNX__
  118. ifndef __LINUX__
  119. ifndef __NETWARE__
  120.         public  "C",_osmajor
  121.         public  "C",_osminor
  122. ifdef __NT__
  123.         public  "C",_osbuild
  124.         public  "C",_osver
  125.         public  "C",_winmajor
  126.         public  "C",_winminor
  127.         public  "C",_winver
  128.         public  "C",__EFG_printf
  129.         public  "C",__EFG_scanf
  130. endif
  131. endif
  132. ifdef __DOS__
  133.         public  "C",_psp
  134.         public  "C",_Extender
  135.         public  "C",_ExtenderSubtype
  136.         public  __X32VM
  137.         public  __x386_stacklow
  138. endif
  139. ifndef _NETWARE_LIBC
  140.         public  "C",_LpCmdLine
  141.         public  "C",_LpPgmName
  142. endif
  143. ifdef __NT__
  144.         public  "C",_LpDllName
  145.         public  "C",_LpwCmdLine
  146.         public  "C",_LpwPgmName
  147.         public  "C",_LpwDllName
  148.         public  "C",_LpCmdLine
  149.         public  "C",_LpPgmName
  150. endif
  151. ifdef __OS2__
  152.         public  "C",_LpDllName
  153.         public  "C",_LpwCmdLine
  154.         public  "C",_LpwPgmName
  155.         public  "C",_LpwDllName
  156. endif
  157. endif
  158. endif
  159. ifndef __NETWARE__
  160.         public  "C",_dynend
  161.         public  "C",_curbrk
  162. endif
  163.         public  "C",_STACKLOW
  164.         public  "C",_STACKTOP
  165.         public  __ASTACKSIZ
  166.         public  __ASTACKPTR
  167. ifndef __NETWARE__
  168.         public  "C",_cbyte
  169.         public  "C",_cbyte2
  170.         public  "C",_child
  171.         public  "C",_Envptr
  172.         public  "C",_Envseg
  173. endif
  174.         public  __no87
  175.         public  "C",__FPE_handler
  176.  
  177. _DATA   ends
  178.  
  179.         end
  180.