WIN32K.SYS

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 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
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.
 * -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.
 * 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!