Author Topic: What talks to the kernel? - Character Device Driver  (Read 447 times)

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 297
  • -Receive: 58
  • Posts: 1935
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
What talks to the kernel? - Character Device Driver
« on: May 29, 2018, 06:19:15 pm »
Hi

I know that everything talks to the kernel, but I want to know which OS/2 components talks with "Character Device Driver" to the kernel.

On the architecture knowledge I was able to get by reading some articles I know there are two.

1) CPI (Control Program Interface) is very linked to the OS/2 kernel and it is supposed to be base API for OS/2 applications. There is even some discussion that CPI and the kernel should not be separated, but as a learning methodology I find it ok to have them as two different components.

2) Drivers. They use kernel instructions (Kernel API?) to be able to perform their functions with the kernel.

But there is an area I always wondered which OS/2 basic OS applications (DLLs, or executables) communicate to the Kernel with logical drivers. (I think that is called as "logical driver", please correct me if I'm wrong) (Update: I think is called "Character Device Driver")

Thesus 4 gives me a list of "Character Device Driver" loaded.



For example on this article from PCWorld you can see this graphic.



So "MOUCALLS.DLL" is not talking directly to the kernel, it talks to a character device driver called MOUSE$. According to the article at PCMag it uses the DosDevIOCtl function to talk to the driver, and DosDevIOCtl is part of CPI, so it also communicating via CPI.

If some of my concepts are wrong please correct me, since I'm just reading about it.

So here comes the question. Is there any way to know for me that a DLL requires/calls a character device driver? For example, what procedure can I do to MOUCALLS.DLL, BMSCALLS.DLL (binaries) or any other DLL for it to let me know it requires/uses MOUSE$ ? Just think for a moment that I don't belive the documentation and I want to check it by myself.

Is there a way to do this with Theseus, lx2dump, pmdll or any other tool?

Regards
« Last Edit: May 29, 2018, 10:42:03 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 297
  • -Receive: 58
  • Posts: 1935
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: What talks to the kernel? - Character Device Driver
« Reply #1 on: May 30, 2018, 12:26:37 am »
So here comes the question. Is there any way to know for me that a DLL requires/calls a character device driver?

Ohh. The answer was very simple. It can be search with Dataseeker or FC/2 (Alt+F7).

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.