Author Topic: EDM/2 - The API Project - Undocumented  (Read 22925 times)

Lars

  • Hero Member
  • *****
  • Posts: 1460
  • Karma: +73/-0
    • View Profile
Re: EDM/2 - The API Project - Undocumented
« Reply #30 on: May 28, 2025, 11:34:41 am »
Hello Steven.

You know more than me on this area.
My references are:
1) DevHlp_AddTraceEvent
-- "SMP Programming Addendum" on the "STRACE - DevHlp Functions"

-- sg244640: "Trace Events for DEVHELP Major Code: 0X0006, Sorted by Tracepoint"
--- OS) DevHlp_AddTraceEvent Post-Invocation 00132 (0X0084)
--- OS) DevHlp_AddTraceEvent Pre-Invocation 00004 (0X0004)


2) DevHlp_SysTrace
-- "Programming Guide and Reference Addendum"  on the "Device Helper (DevHlp) Services and Function Codes" at "DevHlp_SysTrace".

There it says "DevHlp_SysTrace is synonymous with DevHlp_RAS."

On "devhlp.inc" from the DDK it has:
Quote
DevHlp_RAS              EQU     40      ; 28    Put info in RAS trace buffer
DevHlp_SysTrace         EQU     40      ; 28    Synonym for DevHlp_RAS   f180062

This is why I guess that DevHlp_RAS and DevHlp_SysTrace  are the same. No idea about "DevHlp_AddTraceEvent".

Regards

Looks like we are spinning around in circles:

you will realize that major trace code 0x0006 neither lists DevHlp_RAS nor DevHlp_SysTrace. That said, it looks like DevHlp_AddTraceEvent = DevHlp_RAS = DevHlp_SysTrace as that is what this devhelp does: it adds a trace event to the trace buffer.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5499
  • Karma: +49/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: EDM/2 - The API Project - Undocumented
« Reply #31 on: October 03, 2025, 07:35:23 pm »
Hello

Here are some questions I have.

1) Do you think it is worthy to try to document the undocumented functions on an API?

For example: "GpiAbortPath"  (Check the EDM/2 page)
2) Do you think it is good to try to document what it is "believed/supposed" this functions does, specifying it is undocumented?

I searched on the OS2World github any reference to "GpiAbortPath", there is no information, only that it exists on pmgpi library.

3) Is there any trick to try to find what is the syntax and parameters of "GpiAbortPath"?

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

Steven Levine

  • Jr. Member
  • **
  • Posts: 94
  • Karma: +12/-0
    • View Profile
Re: EDM/2 - The API Project - Undocumented
« Reply #32 on: October 07, 2025, 02:00:38 am »
Martin,

It cannot hurt to document what we know and to document any educated guesses we might have.

This has a couple of benefits IMO.  One, it helps avoid, at some future time, redoing the analysis that's already been done.  Two, it might get someone sufficiently curious to investigate further.

There's really no tricks required to get additional information.  Quality time spent with a debugger or a disassembler will eventually provide all the answers you might like to have.

Whether or not this will be time well spent is for the person doing the work to decide.

The GPI Guide and Reference provides a lot of hints and to what GpiAbortPath does.  Take a look at the sample code for GpiBeginPath. Given what we can see, I would expect GpiAbortPath to take a single HPS argument, as does GpiEndPath.  I would also expect GpiAbortPath to release the resources allocated by GpiBeginPath and the other path building functions.  See the GpiBeginPath Remarks panel for some discussion on how this all fits together.

The ddk sources have real world examples of these path APIs in the testtool sources.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5499
  • Karma: +49/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: EDM/2 - The API Project - Undocumented
« Reply #33 on: October 08, 2025, 11:06:26 pm »
Thanks Steven for the reply.

I had updated "GpiAbortPath" with the extra information you posted here.

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