This is an old revision of the document!
This is part of Win16 API which allow to create versions of program from one source code to run under OS/2 and Win16. Under OS/2 program can be running under Win-OS/2 if program is Windows NE executable, and with help on Windows Libraries for OS/2, if it is OS/2 NE executable. Here is a WLO to OS/2 API mapping draft
Note minimal checked windows version is 1.03
Ordinal | Name | Description | Status | Version | ||
---|---|---|---|---|---|---|
Real | Std | Enh | ||||
000 | KERNEL | |||||
001 | FATALEXIT | |||||
003 | GETVERSION | Return the current version of Windows | 1.03 | |||
004 | LOCALINIT | |||||
005 | LOCALALLOC | Allocate wBytes bytes of memory from the local heap | 1.03 | |||
006 | LOCALREALLOC | Reallocate the local memory block | 1.03 | |||
007 | LOCALFREE | Free the local memory block | 1.03 | |||
008 | LOCALLOCK | Lock the local memory block | 1.03 | |||
009 | LOCALUNLOCK | Unlock the local memory block | 1.03 | |||
00a | LOCALSIZE | Retrieve the current size, in bytes, of the local memory block | 1.03 | |||
00b | LOCALHANDLE | |||||
00c | LOCALFLAGS | Return information about the specified local memory block | 1.03 | |||
00d | LOCALCOMPACT | Generate free bytes of memory by compacting, if necessary, the module's local heap | 1.03 | |||
00e | LOCALNOTIFY | |||||
00f | GLOBALALLOC | Allocate memory from the global heap | 1.03 | |||
010 | GLOBALREALLOC | Reallocate the global memory block | 1.03 | |||
011 | GLOBALFREE | Free the global memory block | 1.03 | |||
012 | GLOBALLOCK | Retrieve the absolute memory address of the global memory block | 1.03 | |||
013 | GLOBALUNLOCK | Unlock the global memory block | 1.03 | |||
014 | GLOBALSIZE | Retrieve the current size, in bytes, of the global memory block | 1.03 | |||
015 | GLOBALHANDLE | |||||
016 | GLOBALFLAGS | Return information1 about the specified global memory block | 1.03 | |||
017 | LOCKSEGMENT | |||||
018 | UNLOCKSEGMENT | |||||
019 | GLOBALCOMPACT | Generate free bytes of global memory by compacting, if necessary, the system's global heap | 1.03 | |||
01d | YIELD | halts the current task and starts any waiting task | 1.03 | |||
01e | WAITEVENT | |||||
024 | GETCURRENTTASK | Return the handle of the currently executing task | 1.03 | |||
025 | GETCURRENTPDB | |||||
02d | LOADMODULE | |||||
02e | FREEMODULE | |||||
02f | GETMODULEHANDLE | Retrieve the module handle of the specified module | 1.03 | |||
030 | GETMODULEUSAGE | Return the reference count of a given module | 1.03 | |||
031 | GETMODULEFILENAME | Retrieve the name of the executable file from which the specified module was loaded | 1.03 | |||
032 | GETPROCADDRESS | Retrieve the memory address of the function whose name | 1.03 | |||
033 | MAKEPROCINSTANCE | Bind the data segment of the module instance specified to the function pointed | 1.03 | |||
034 | FREEPROCINSTANCE | Frees the function specified from the data segment | 1.03 | |||
036 | GETINSTANCEDATA | Copy data from a previous instance of an application into the data area of the current instance | 1.03 | |||
037 | CATCH | Catch the current execution environment and copy it the the buffer | 1.03 | |||
038 | THROW | Restore the execution environment to the values saved in the buffer | 1.03 | |||
039 | GETPROFILEINT | |||||
03a | GETPROFILESTRING | |||||
03b | WRITEPROFILESTRING | |||||
03c | FINDRESOURCE | |||||
03d | LOADRESOURCE | |||||
03e | LOCKRESOURCE | |||||
03f | FREERESOURCE | |||||
040 | ACCESSRESOURCE | |||||
041 | SIZEOFRESOURCE | |||||
042 | ALLOCRESOURCE | |||||
043 | SETRESOURCEHANDLER | |||||
044 | INITATOMTABLE | |||||
045 | FINDATOM | |||||
046 | ADDATOM | |||||
047 | DELETEATOM | |||||
048 | GETATOMNAME | |||||
049 | GETATOMHANDLE | |||||
04a | OPENFILE | |||||
04d | AnsiNext | |||||
04e | AnsiPrev | |||||
04f | AnsiUpper | |||||
050 | AnsiLower | |||||
051 | _LCLOSE | |||||
052 | _LREAD | |||||
053 | _LCREAT | |||||
054 | _LLSEEK | |||||
055 | _LOPEN | |||||
056 | _LWRITE | |||||
057 | lstrcmp | |||||
058 | LSTRCPY | |||||
059 | LSTRCAT | |||||
05a | LSTRLEN | |||||
05b | INITTASK | |||||
05c | GETTEMPDRIVE | |||||
05d | GETCODEHANDLE | Return the handle of the code segment containing the function pointed | 1.03 | |||
05e | DEFINEHANDLETABLE | |||||
05f | LOADLIBRARY | Load the library module contained in the specified file and returns a handle to the loaded module | 1.03 | |||
060 | FREELIBRARY | Free memory occuped by library when module reference count equal to zero | 1.03 | |||
061 | GETTEMPFILENAME | |||||
064 | VALIDATECODESEGMENTS | |||||
066 | DOS3CALL | |||||
067 | NETBIOSCALL | |||||
068 | GETCODEINFO | |||||
06a | SETSWAPAREASIZE | |||||
06b | SETERRORMODE | |||||
06c | SWITCHSTACKTO | |||||
06d | SWITCHSTACKBACK | |||||
06f | GLOBALWIRE | |||||
070 | GLOBALUNWIRE | |||||
073 | OUTPUTDEBUGSTRING | |||||
079 | LOCALSHRINK | |||||
07f | GETPRIVATEPROFILEINT | |||||
080 | GETPRIVATEPROFILESTRING | |||||
081 | WRITEPRIVATEPROFILESTRING | |||||
082 | FILECDR | |||||
083 | GETDOSENVIRONMENT | |||||
084 | GETWINFLAGS | |||||
086 | GETWINDOWSDIRECTORY | |||||
087 | GETSYSTEMDIRECTORY | |||||
088 | GETDRIVETYPE | |||||
089 | FATALAPPEXIT | |||||
08a | GETHEAPSPACES | |||||
096 | DIRECTEDYIELD | |||||
098 | GETNUMTASKS | |||||
09a | GLOBALNOTIFY | |||||
09c | LIMITEMSPAGES | |||||
0a3 | GLOBALLRUOLDEST | |||||
0a4 | GLOBALLRUNEWEST | |||||
0a6 | WINEXEC | |||||
0a9 | GETFREESPACE | |||||
0aa | ALLOCCSTODSALIAS | |||||
0ab | ALLOCDSTOCSALIAS | |||||
0af | ALLOCSELECTOR | |||||
0b0 | FREESELECTOR | |||||
0b1 | PRESTOCHANGOSELECTOR | |||||
0b8 | GLOBALDOSALLOC | |||||
0b9 | GLOBALDOSFREE | |||||
0ba | GETSELECTORBASE | |||||
0bb | SETSELECTORBASE | |||||
0bc | GETSELECTORLIMIT | |||||
0bd | SETSELECTORLIMIT | |||||
0bf | GLOBALPAGELOCK | |||||
0c0 | GLOBALPAGEUNLOCK | |||||
0c4 | SELECTORACCESSRIGHTS | |||||
0c5 | GLOBALFIX | |||||
0c6 | GLOBALUNFIX | |||||
0c7 | SETHANDLECOUNT | |||||
0c8 | VALIDATEFREESPACES | |||||
0cb | DEBUGBREAK | |||||
0cc | SWAPRECORDING | |||||
0ce | ALLOCSELECTORARRAY | |||||
0cf | ISDBCSLEADBYTE | |||||
136 | LOCALHANDLEDELTA | Set the number of handle table entries to be allocated when the local heap manager runs out of handle table | 1.03 | |||
140 | ISTASK | |||||
143 | ISROMMODULE | |||||
144 | LOGERROR | |||||
145 | LOGPARAMERROR | |||||
146 | ISROMFILE | |||||
14e | ISBADREADPTR | |||||
14f | ISBADWRITEPTR | |||||
150 | ISBADCODEPTR | |||||
151 | ISBADSTRINGPTR | |||||
15b | ISBADHUGEWRITEPTR | |||||
15c | HMEMCPY | |||||
15d | _HREAD | |||||
15e | _HWRITE | |||||
161 | LSTRCPYN | |||||
162 | GETAPPCOMPATFLAGS | |||||
163 | GETWINDEBUGINFO | |||||
164 | SETWINDEBUGINFO |
Not found in exports: GlobalDiscard 1.03 LocalDiscard 1.03 LocalFreeze 1.03 LocalMelt 1.03 LockData 1.03 UnLockData 1.03 SetPriority 1.03
Module manager: GETVERSION GETMODULEHANDLE GETMODULEUSAGE GETMODULEFILENAME GETPROCADDRESS MAKEPROCINSTANCE FREEPROCINSTANCE GETINSTANCEDATA CATCH THROW GETCODEHANDLE LOADLIBRARY FREELIBRARY
Memory Manager: GlobalAlloc GlobalCompact GlobalDiscard GlobalFree GlobalLock GlobalReAlloc GlobalSize GlobalUnlock GlobalFlags LocalAlloc LocalCompact LocalDiscard LocalFree LocalLock LocalFreeze LocalMelt LocalReAlloc LocalSize LocalUnlock LocalHandleDelta LockData UnlockData LocalFlags
Task: GetCurrentTask Yield SetPriority