Jump to content

WIN32K.SYS: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Created page with "Win32k - Odin32 Ring 0 PE loader/converter for OS/2. DEVICE=WIN32K.SYS Odin is a free Open Source project with the goal to eventually provide a fully working Win32 (Win 95/9..."
 
No edit summary
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:
  DEVICE=WIN32K.SYS
  DEVICE=WIN32K.SYS


Odin is a free Open Source project with the goal to eventually provide a fully working Win32 (Win 95/98/NT/2000) runtime environment, making it possible to run your favorite Windows programs under OS/2, as if they were native OS/2 programs. The second goal of Odin is to provide the full Win32 application programming interface (API) so that it is possible to build OS/2 programs using Windows source code.
Odin is an Open Source project with the goal to eventually provide a fully working Win32 (Win 95/98/NT/2000) runtime environment, making it possible to run Windows programs under OS/2, as if they were native OS/2 programs. The second goal of Odin is to provide the full Win32 application programming interface (API) so that it is possible to build OS/2 programs using Windows source code.


Available at: http://odin.netlabs.org
Available from: http://odin.netlabs.org


The win32k.sys driver makes PE (Win32) executables equal to native OS/2 executables by implementing a Ring 0 on-the-fly converter. The converter is Pe2Lx.exe. So, everything that works with Pe2Lx will probably work with win32k.sys. And vice versa, when Pe2lx can't handle it, win32k.sys won't either.
The win32k.sys driver makes PE (Win32) executables equal to native OS/2 executables by implementing a Ring 0 on-the-fly converter. The converter is xx2Lx.exe (Formely Pe2Lx.exe) . So, everything that works with Pe2Lx will probably work with win32k.sys. And vice versa, when Pe2lx can't handle it, win32k.sys won't either.


You may wonder how you may run a Win32 program using a device driver. You
You may wonder how you may run a Win32 program using a device driver. You don't have to worry about that, simply treat the Win32 program just as an another OS/2 program. OS/2 can't tell the difference! No conversion of DLLs or running programs by PE.EXE.
don't have to worry about that, simply treat the Win32 program just as an another OS/2 program. OS/2 can't tell the difference! No conversion of dlls or running programs thru Pe.EXE.


==Parameter==
==Parameter==
* Quited Quiet driver initiation. Default: disabled (ie. -V)
* Quiet - Quiet driver initiation. Default: disabled (i.e. -V)
* Verbose Verbose driver initiation. Default: enabled
* Verbose - Verbose driver initiation. Default: enabled
* -S: Full path to the current OS/2 kernel symbol file. When this is specified the given Default: symbol "database" and default locations are searched.
* -S: Full path to the current OS/2 kernel symbol file. When this is specified the given Default: symbol "database" and default locations are searched.


Line 28: Line 27:
===Logging parameters===
===Logging parameters===
* -L<:E|:D> Enables/Disables logging. Default: disabled.
* -L<:E|:D> Enables/Disables logging. Default: disabled.
* -Com:<1|2|3|4> or -C<1|2|3|4> Which com-port to log to. Default: -C2
* -Com:<1|2|3|4> or -C<1|2|3|4> Which COM port to log to. Default: -C2
* -Warning:<1|2|3|4> or -W<1|2|3|4> Warning/info level for PE loader. (This is warnings and info which is published thru the com-port as logging information.) Default: -W0
* -Warning:<1|2|3|4> or -W<1|2|3|4> Warning/info level for PE loader. (Warnings and info which is published through the COM port as logging information.) Default: -W0


===Heap parameters===
===Heap parameters===
Line 38: Line 37:


===OS/2 Loader parameter===
===OS/2 Loader parameter===
* -Dllfixes<:E|:D> Enables or Disables the long DLL name and non .DLL extention fixes. OS/2 DLLs have been limited to 8 chars names since version 2.. This is a very bad limitation. Also OS/2 forces all DLL loaded to loadtime to have the extention '.DLL'. Both these retritions are removed if this option is enabled. For DLL with non .DLL extention the internal name must have to the extention included. (If you the experiences problems with IMPLIB.EXE, enclose the internal name in double-quotes.) You should not make a DLL with a name starting with DOSCALLS, DOSCALLS1, IBMVGA32, IBMDEV32 or IBMXGA32. Current state for this feature is EXPERIMENTAL. Default: Enabled
* -Dllfixes<:E|:D> Enables or Disables the long DLL name and non .DLL extension fixes. OS/2 DLLs have been limited to 8 chars names since version 2.. This is a very bad limitation. Also OS/2 forces all DLL loaded to have the extension '.DLL'. Both these restrictions are removed if this option is enabled. For DLL with non .DLL extension the internal name must have to the extension included. (If you the experiences problems with IMPLIB.EXE, enclose the internal name in double-quotes.) You should not make a DLL with a name starting with DOSCALLS, DOSCALLS1, IBMVGA32, IBMDEV32 or IBMXGA32. Current state for this feature is EXPERIMENTAL. Default: Enabled


===Obsolete===
===Obsolete===
Line 50: Line 49:
!OS/2 4.5x
!OS/2 4.5x
|-
|-
|Yes
|
|Yes
|?
|Yes
|Yes
|Yes
|Yes

Latest revision as of 15:51, 6 September 2020

Win32k - Odin32 Ring 0 PE loader/converter for OS/2.

DEVICE=WIN32K.SYS

Odin is an Open Source project with the goal to eventually provide a fully working Win32 (Win 95/98/NT/2000) runtime environment, making it possible to run Windows programs under OS/2, as if they were native OS/2 programs. The second goal of Odin is to provide the full Win32 application programming interface (API) so that it is possible to build OS/2 programs using Windows source code.

Available from: http://odin.netlabs.org

The win32k.sys driver makes PE (Win32) executables equal to native OS/2 executables by implementing a Ring 0 on-the-fly converter. The converter is xx2Lx.exe (Formely Pe2Lx.exe) . So, everything that works with Pe2Lx will probably work with win32k.sys. And vice versa, when Pe2lx can't handle it, win32k.sys won't either.

You may wonder how you may run a Win32 program using a device driver. You don't have to worry about that, simply treat the Win32 program just as an another OS/2 program. OS/2 can't tell the difference! No conversion of DLLs or running programs by PE.EXE.

Parameter

  • Quiet - Quiet driver initiation. Default: disabled (i.e. -V)
  • Verbose - Verbose driver initiation. Default: enabled
  • -S: Full path to the current OS/2 kernel symbol file. When this is specified the given Default: symbol "database" and default locations are searched.

Loader parameters

  • -SCript: Enable / disable UNIX script support. Default: Enabled.
  • -REXX: Enable / disable pure REXX script support. Default: Enabled.
  • -Java: Enable / disable JAVA loading.
  • -PE: Enabled / disable and set mode of the PE loading.

MIXED: Mix of Pe2Lx and Pe.exe. It uses Pe2Lx when possible and backs out to pe.exe if the executables aren't supported by the converter.

  • PE2LX: Pe2Lx loader only.
  • PE: Pe.exe only. The program is started using Pe.exe, and the process name will be pe.exe.
  • NOT: Disable PE loading.

Logging parameters

  • -L<:E|:D> Enables/Disables logging. Default: disabled.
  • -Com:<1|2|3|4> or -C<1|2|3|4> Which COM port to log to. Default: -C2
  • -Warning:<1|2|3|4> or -W<1|2|3|4> Warning/info level for PE loader. (Warnings and info which is published through the COM port as logging information.) Default: -W0

Heap parameters

  • HEAPMax: Maximum swappable heap size in bytes. Default: 512KB
  • Heapinit: Initial heapsize in bytes. Default: 16MB
  • RESHEAPMax: Maximum resident heap size in bytes. Default: 256KB
  • Resheapinit: Initial resident in bytes. Default: 16MB

OS/2 Loader parameter

  • -Dllfixes<:E|:D> Enables or Disables the long DLL name and non .DLL extension fixes. OS/2 DLLs have been limited to 8 chars names since version 2.. This is a very bad limitation. Also OS/2 forces all DLL loaded to have the extension '.DLL'. Both these restrictions are removed if this option is enabled. For DLL with non .DLL extension the internal name must have to the extension included. (If you the experiences problems with IMPLIB.EXE, enclose the internal name in double-quotes.) You should not make a DLL with a name starting with DOSCALLS, DOSCALLS1, IBMVGA32, IBMDEV32 or IBMXGA32. Current state for this feature is EXPERIMENTAL. Default: Enabled

Obsolete

  • -K: Ignored. Win32k scans the kernel image in memory!
Platform Support:
OS/2 2.x OS/2 3.0 OS/2 4.0 OS/2 4.5x
? Yes Yes