#36 closed enhancement (invalid)
Removing the use of MONCALLS.DLL
Reported by: | martini | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | 2.9.0 |
Component: | widget | Version: | |
Keywords: | MONCALLS.DLL, DOSCALL1.DLL | Cc: |
Description
Hi.
I was experimenting with a MONCALLS.DLL replacemenet (OSFree generated) on a VM and noticed that lSwitcher uses this file.
http://www.edm2.com/index.php/MONCALLS.DLL
AFAIK MONCALLS.DLL on the latest version of OS/2 Warp is a forwarder and all it's functions are located at DOSCALL1.DLL.
I search the LSwitcher source code on github (screenshot attached).
My request is to see if it can be possible for you to remove the MONCALLS.DLL calls and make it directly to DOSCALL1.DLL. I really do not know how easy or hard can it be.
The only fallback that I see on doing this is that may possible break compatibility of lSwitcher with older OS/2 versions where MONCALLS.DLL is not a forwarder to DOSCALL1.DLL.
Attachments (1)
Change History (5)
by , 9 years ago
Attachment: | MONCALLS.png added |
---|
comment:1 by , 9 years ago
comment:2 by , 9 years ago
I just check these function are not forward they are in moncalls.dll.
From a command line try lxlite -c:exemap -vf- moncalls.dll look at the Module Entry Table. If these were forwarded the Entry type would be Forwarder not 16:16 gate which is what they are.
Try the command above on msg.dll and you will find it does forward everything to doscall1.dll.
comment:3 by , 7 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Hi Martin
The DOS16MON* functions are undocumented API calls for monitoring things like input output from the keyboard. Using MONCALLS.DLL and forwarding is how os2 is designed to work and is for backward compatibility. While I could call them directly from DOSCALL1.DLL using their ordinal, I don't see any advantage to it. Your pointing these out will allow me to remove the redundant declares of these functions in the code since they are already declared in the OpenWatcom OS/2 headers. If I am missing something here let me know.
Gregg