Author Topic: OS/2 Components / Architecture - Indentifying OS/2 Files  (Read 60697 times)

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4748
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #60 on: July 31, 2015, 06:01:27 pm »
Thank you very much Wim. This information is important to me and I'm putting it on the EDM/2 wiki.

Just two little things:
1) I'm referring to "NWIAPI.DLL" and not "NWAPI.DLL". But I also added your description on the wiki for NWAPI.DLL. But I think that maybe both should be on the same group under "OS/2 LAN Server".

2) Do you have a technique to know which DLL or EXE calls an specific DLL? Because the only way I know is going each EXE one by one with PMDLL. If there is a better technique I will appreciate it.

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

Andi B.

  • Hero Member
  • *****
  • Posts: 818
  • Karma: +11/-2
    • View Profile
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #61 on: July 31, 2015, 09:03:50 pm »
When I search all files on my boot drive for text 'NWIAPI' I get
"M:\IBMLAN\NETPROG\LSDAEMON.EXE"
"M:\OS2\DLL\LSPRWPS.DLL"
"M:\OS2\DLL\PMSPL.DLL"
"M:\OS2\DLL\PMWP.DLL"
"M:\OS2\MDOS\WINOS2\SYSTEM\PMSPL.DLL"
and a few dump (.dmp) files. So probably all of the above will/can load nwiapi.dll.

I'm using DataSeeker for searching ;)

Wim Brul

  • Sr. Member
  • ****
  • Posts: 295
  • Karma: +25/-0
    • View Profile
    • Wim's home page
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #62 on: August 01, 2015, 09:27:44 am »
I am doing the same thing as Andi B. but I am using Seek and Scan Files. I search separately for *.exe and for *.dll files with the text string: nwiapi. Then I use a text browser to look for readable text in those files . I also use bldlevel on those files. Sometimes I'll search again using portions of the readable text I found with bldlevel.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4748
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #63 on: August 03, 2015, 11:09:03 pm »
Hi.

Thanks for the tip I will start using Dataseeker for this.

I'm starting to check the "Graphics Subsystem". I'm reading this book (OS/2 Warp (PowerPC Edition) A First Look- Page 109 / 4.3 Graphics Subsystem). But I think that document is confusing me more.

Does the same architecture applies for OS/2 Warp 4.5 and eComStation? or this was only applied on PowerPC and didn't move forward on the Intel platform?

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

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4805
  • Karma: +99/-1
    • View Profile
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #64 on: August 04, 2015, 12:23:11 am »
As I remember, the GRADD video system was originally written for OS/2 PPC and then ported to i386 OS/2.
It'll be complicated due to i386 also supporting the legacy video drivers.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4748
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #65 on: August 04, 2015, 05:48:35 pm »
I think that I understood better after reading those pages how what is called "Graphics Subsystem" works on OS/2. And I also think it applies to OS/2 Warp 4.5x and eCS as we have it today.

The graphic helped me to understand how to organize it referring to an architectural view.

I will think how to reorganize the GRADD and Video Subsystem pages of the EDM/2 pages.

Here it goes, corrections are welcome.

 (Correction, I just updated the graphic, there was a horrible mistake)

« Last Edit: August 04, 2015, 09:58:44 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4748
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #66 on: November 25, 2015, 10:38:51 pm »
Hi

I'm still working on this little by little on the EDM/2 Wiki.

I'm putting USER.DAT and SYSTEM.DAT as part of the Open32 component.  If I delete both files, and I run a Qt application, it seems that Registry.DLL creates them again.  I'm not sure if I'm right.

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

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4805
  • Karma: +99/-1
    • View Profile
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #67 on: November 26, 2015, 08:23:46 am »
There's a program, which I forget the name of, to recreate them. Simplest is to run regedit2.exe which will call the other program and recreate both with the bare entries.  Note that not only Open32 but also Odin programs use them as the WIn registry.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4748
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #68 on: November 26, 2015, 02:08:41 pm »
Hi Dave

My weak conclusion, that "USER.DAT and SYSTEM.DAT" are created by "REGISTRY.DLL", is based on what I tested it on my "cropped experimental VM". I don't have any of the Open32 files listed on the EDM/2 wiki (neither regedit2.exe), but I have "REGISTRY.DLL" so the Qt Apps can run. When I run a Qt app, it takes longer to load the first time and "USER.DAT and SYSTEM.DAT" gets created on \OS2\SYSTEM.  Also  "REGISTRY.DLL" seems to have some related functions inside it.

But I may be wrong, since I don't know any other technique to find out which file/component/DLL generate those two .DAT files. Maybe it is other the DLL creates it that I have around somewhere else. Any other tip on tools on how to analyze this are welcome.

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

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4805
  • Karma: +99/-1
    • View Profile
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #69 on: November 26, 2015, 04:44:16 pm »
Perhaps at heart it is registry.dll that creates the registry and the program I'm thinking of only calls registry.dll. Is the registry populated or empty when created o your system? You might need to install regedit2 to check.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4748
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #70 on: November 26, 2015, 11:11:14 pm »
Hi, it seems that I found the other programs that creates that registry. It is REGCONV.EXE, but I don't have it on my VM.

I have this about REGCONV.EXE - http://www.edm2.com/index.php/REGCONV.EXE
"By running \OS2\SYSTEM\REGCONV.EXE, this will create a fresh SYSTEM.DAT and USER.DAT. REGCONV is run automatically by REGEDIT2 if those two files are not present. " But REGCONV.EXE requires REGISTRY.DLL.

I'm also thinking that I should move "PMDDEML.DLL" as a component of Open32 and not as a PM component, PM can run without issues if I remove that file. I'm not sure about what the "WinDDE..." functions are for. And it also seems that only PMWINX.DLL and NPFI.DLL uses that DLL.

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

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4805
  • Karma: +99/-1
    • View Profile
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #71 on: November 26, 2015, 11:55:14 pm »
I assume that "PMDDEML.DLL"  contains the DDE stuff.  DDE is an old means for programs to communicate between each other, this includes PM programs, Win16 programs (there's a setting in the winos2 properties to allow winos2 program to use DDE to communicate with PM program) and I guess Win32 programs. In which case "PMDDEML.DLL"  is the PM part of the DDE chain and any OS/2 program trying to use DDE would probably fail or produce warnings if "PMDDEML.DLL"  is missing.
From https://en.wikipedia.org/wiki/Dynamic_Data_Exchange,
Quote
In computing, Dynamic Data Exchange (DDE) is a method of interprocess communication under Microsoft Windows or OS/2. It allows one program to subscribe to items made available by another program, for example a cell in a Microsoft Excel spreadsheet, and be notified whenever that item changes.

roberto

  • Hero Member
  • *****
  • Posts: 810
  • Karma: +3/-6
    • View Profile
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #72 on: November 27, 2015, 11:49:13 pm »

2) Do you have a technique to know which DLL or EXE calls an specific DLL? Because the only way I know is going each EXE one by one with PMDLL. If there is a better technique I will appreciate it.

In this articule :
http://www.os2voice.org/VNL/past_issues/VNL0708H/feature_3.html

PM program DLL Tree (pmdll28.zip) reports.
I do not if this can help you.
Saludos

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4748
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #73 on: February 02, 2016, 02:10:54 pm »
Hi

Going on this subject I also included a graphics that I remade for the EDM/2 wiki about the OS/2 TCP/IP Internal Structure which list the files it is list.

The graphic is here: http://www.edm2.com/index.php/Multiprotocol_Transport_Networking

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

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4748
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: OS/2 Components / Architecture - Indentifying OS/2 Files
« Reply #74 on: February 04, 2016, 02:13:09 pm »
Hi

I'm still on the process on documenting OS/2's Files descriptions on the EDM/2 Wiki: http://www.edm2.com/index.php/Category:Files

If you know something about an OS/2 file, please search it there... if it is not available there post the description here to keep improving OS/2 documentation.  If you can edit the EDM/2 wiki directly you are free to do it, but if you lack access to it I will be happy to post it for you.

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