Author Topic: The OS/2 API Project at EDM/2  (Read 28593 times)

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4788
  • Karma: +99/-1
    • View Profile
Re: The OS/2 API Project at EDM/2
« Reply #30 on: July 04, 2016, 12:07:52 am »
You can also use emximp, eg
Code: [Select]
G:\os2tk45\lib>emximp -o os2386.imp os2386.libwhich will output a imp file with eg the head of os2386.imp
Quote
;
; os2386.imp (created by emximp)
;
; -------- os2386.lib --------
DOSPTRACE               DOSCALLS  12 ?
DOSISETRELMAXFH         DOSCALLS 108 ?
DOSIDEVIOCTL            DOSCALLS 109 ?
DosForceDelete          DOSCALLS 110 ?
Dos32ForceDelete        DOSCALLS 110 ?
DosKillThread           DOSCALLS 111 ?
Dos32KillThread         DOSCALLS 111 ?
DosQueryRASInfo         DOSCALLS 112 ?
Dos32QueryRASInfo       DOSCALLS 112 ?
DosDumpProcess          DOSCALLS 113 ?
Dos32DumpProcess        DOSCALLS 113 ?
DosSuppressPopUps       DOSCALLS 114 ?
Dos32SuppressPopUps     DOSCALLS 114 ?
...

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4714
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: The OS/2 API Project at EDM/2
« Reply #31 on: July 04, 2016, 04:06:51 pm »
Thanks for the feedback. I also created a little page to don't forget about it on the EDM/2 Wiki (Extracting information from LIB files).

I will continue little by little to complete the CPI API page.

Regards
« Last Edit: July 04, 2016, 05:11:56 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4714
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: The OS/2 API Project at EDM/2
« Reply #32 on: August 09, 2016, 10:14:55 pm »
Hi

I keep going little by little to complete the CPI API page.

But I had also changed the structure of the OS/2 API Page on the EDM/2. It is just experimental to see if it works.
I had changed the page in three blocks:
- OS/2 Product APIs - The APIs that came with the OS/2 Warp product
- Third Parties OS/2 Based APIs - APIs that had been created "almost" exclusively for OS/2.
- OS/2 Ported APIs - Which are mostly the APIs that had been ported to OS/2 and have it's documentation somewhere else.

The idea is that the first two blocks will have more detailed documentation of the API, if I ever finish it, while the third block will only have the reference to the website with its API documentation.

Please check it out to see if it is easy to understand or any corrections/suggestion that you may have.

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

RickCHodgin

  • Guest
Re: The OS/2 API Project at EDM/2
« Reply #33 on: August 10, 2016, 03:28:10 pm »
Hi

I keep going little by little to complete the CPI API page.

But I had also changed the structure of the OS/2 API Page on the EDM/2. It is just experimental to see if it works.
I had changed the page in three blocks:
- OS/2 Product APIs - The APIs that came with the OS/2 Warp product
- Third Parties OS/2 Based APIs - APIs that had been created "almost" exclusively for OS/2.
- OS/2 Ported APIs - Which are mostly the APIs that had been ported to OS/2 and have it's documentation somewhere else.

The idea is that the first two blocks will have more detailed documentation of the API, if I ever finish it, while the third block will only have the reference to the website with its API documentation.

Please check it out to see if it is easy to understand or any corrections/suggestion that you may have.

I plan to implement all of these once I get my kernel compiling under my own assembler.  I'm going little by little on my assembler presently.  My assembler is a 7-pass assembler, and I'm up to pass-3 and expression parsing for instructions like "mov eax,[esi+ebx+4]".  Pass-3 is the last source code pass, and then it's on to internal calculations for passes X,Y,Z, which are output file generation passes.  You can see the source code here on GitHub.

I have all of the file parsing, #include file parsing, and all #define and macro statements working.

See my follow-up reply here.

Best regards,
Rick C. Hodgin

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4714
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: The OS/2 API Project at EDM/2
« Reply #34 on: August 24, 2016, 07:15:43 pm »
Hi

Does anybody know something about this file "CPMBC21B.DLL".  It is referred as "ObjectPM Core Library for Borland v21B".
http://www.edm2.com/index.php/CPMBC21B.DLL

I just found it on the Hint Bubble package and I want to see where it comes from. From Borland?

Anybody has some documentation, pointers, ideas about it?


I think I found it, it is part of the ObjectPM product from Secant Technologies. It would be interesting if someone has the ObjectPM package with full source code (it was used to be sold also with source code) to see if I can ask permission to change its license to open source.

Regards


Regards
« Last Edit: August 24, 2016, 07:21:08 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4714
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: The OS/2 API Project at EDM/2
« Reply #35 on: August 29, 2016, 05:35:54 pm »
Hi

I found that article from PC Mag when the OS/2 2.0 API was released.

https://books.google.com.ec/books?id=u7WbsmbttwYC&pg=PT372&lpg=PT372&dq#v=onepage&q&f=false

It was interesting to see those tables of which functions got renamed and which was eliminated.

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

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4714
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: The OS/2 API Project at EDM/2
« Reply #36 on: August 29, 2016, 05:49:16 pm »
Hi

I also can not find much information about "DosQueryFileMode".
A search on OS/2 showed me some references on "OS2TRACE.INF" and "strace.inf" but it only gives me some "Hook ID" on a table.

I can not find it Warp 4.52.

On the PC Mag article (of OS/2 2.0 API) say "DosQueryFileMode" replaces ""DosQFileMode".

Should I put is as "Not Implemented" ?

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

RickCHodgin

  • Guest
Re: The OS/2 API Project at EDM/2
« Reply #37 on: August 29, 2016, 08:58:20 pm »
Hi

I also can not find much information about "DosQueryFileMode".
A search on OS/2 showed me some references on "OS2TRACE.INF" and "strace.inf" but it only gives me some "Hook ID" on a table.

I can not find it Warp 4.52.

On the PC Mag article (of OS/2 2.0 API) say "DosQueryFileMode" replaces ""DosQFileMode".

Should I put is as "Not Implemented" ?

Regards

I found this reference from toolkits 2.0 and 2.1, which indicate it no longer existed there.  The responder writes:

"Try DosQueryFileInfo and DosSetFileInfo if you have the file open (ie. you have a handle).  Use DosQueryPathInfo and DosSetPathInfo if the file isn't open or you want to set the attributes for a directory."

So I would say it's either not implemented, exists as something hidden, or was simply dropped as it migrated to new functionality in the other functions.

Best regards,
Rick C. Hodgin
« Last Edit: August 29, 2016, 09:00:13 pm by Rick C. Hodgin »

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4714
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: The OS/2 API Project at EDM/2
« Reply #38 on: August 29, 2016, 11:47:24 pm »
Thanks for the pointer Rick.

In general terms, I'm almost done with the Control Program functions page. It may never be perfect, but I think it is decent enough.
Check the page at:
http://www.edm2.com/index.php/OS2_API:CPI

I added some icons with a "warning logo" on some functions to represent that "it may not be implemented"
On the legacy functions, in some functions, I had added a "question mark icon" which means that the information need to be complete.

So....
1) If anybody has more information about the ones with "Question Mark", let me know, post it here, etc.
2) If there is any other non-legacy function that deserves the "warning icon" please let me know too.
3) Let me know any other things I may be missing about the CPI functions.


Regards

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

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4788
  • Karma: +99/-1
    • View Profile
Re: The OS/2 API Project at EDM/2
« Reply #39 on: August 30, 2016, 01:05:42 am »
Are you aware of this, https://winworldpc.com/product/ibm-developers-toolkit? Should help with the 16bit API.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4714
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: The OS/2 API Project at EDM/2
« Reply #40 on: August 30, 2016, 02:39:24 pm »
Thanks Dave?

I want to check if it has some documentation. How do I unpack those files on a newer OS/2? Is there a batch way to do it instead of going with unpack file by file?
Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4714
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: The OS/2 API Project at EDM/2
« Reply #41 on: September 25, 2016, 06:00:58 pm »
Hi

I'm trying to find more information for the EDM/2 wiki about this legacy functions:

DOSPMSEMWAIT
DOSPMMUXSEMWAIT
DosSGQueryTopmost
KbdInit
KbdLoadInstance
KbdSwitchFgnd
KbdShellInit
KbdFree
KbdSetHWId

VioFree
Avs_Prtsc
VioSrfUnblock
VioSrfBlock
ioSave
VioHetInit
VioSswSwitch
Avs_PrtscToggle
VioInit
VioRestore
VioShellInit

VioGetPSAddress
VioQueryConsole
XVioSetCAState
XVioCheckCharType
XVioDestroyCA
XVioCreateCA
XVioGetCAState

DosSMRealPrtSc

Also there are some other Legacy functions that I needs more information and are listed with "question mark" on this page:
http://www.edm2.com/index.php/OS2_API:CPI#Legacy_Functions

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