Looking over the same program we can see that it uses the QMHSNDPM api in a
different way we are learned to do.

Because when we call this api in user state we must use the full set of
parameters as explained in the manual, but when the same program runs in
system state it only passes one parameter that addresses a structure with
the fields needed to send the message (confirmed by the test).

Maybe there are some more api's that work in a different way depending on
the status of the caller.

Giuseppe.


----- Original Message ----- 
From: <Gene_Gaunt@xxxxxxxxxxxxxxx>
To: "MI Programming on the AS400 / iSeries" <mi400@xxxxxxxxxxxx>
Sent: Thursday, April 15, 2004 7:26 PM
Subject: Re: [MI400] RETSTHLS


>
> I haven't seen that one before, so I experimented and found the OPM
> translator down in SLIC blocks RETSTHLS from compiling.
>
> Looking over the QPARIXEN program I see RETSTHLS receives one machine
space
> pointer operand, TCBPOINTER.  Look in the DCL's for things based on this
> pointer, and I see a structure, which at position 81, has a pointer to
> another structure, and the DCL's based on that second structure sure look
a
> lot to me like the Name Resolution List, I mean the bit-and-pointer
> structure in PCO that contains the library list + product library +
current
> library, and such.
>
> With my MI explorer program on V5R2 I noticed my job's PCO at offset
> H"10E0" has the string "WTCB", and 96 bytes beyond that is a pointer to my
> job's Name Resolution List.  So my wild guess is that RETSTHLS returns a
> pointer set to 16 bytes into this "WTCB" structure in the current job's
> PCO, and that IBM is using RETSTHLS as a means to resolve the QPARIXEN's
> incoming parameter from "*CURLIB".
>
> I haven't tried this, but to verify, you could run the program and set OPM
> breakpoint after all the RETSTHLS's, then DSPPGMVAR the TCBPOINTER and
look
> at the address, then find an address in System Service Tools that matches.
>
> ********************************
> Confidential:  This electronic message and all contents contain
information
> from ReviewWorks which may be privileged, confidential or otherwise
> protected from disclosure.  The information is intended to be for the
> addressee only.  If you are not the addressee; disclosure, copy,
> distribution or use of the contents of this message is prohibited.  If you
> have received this electronic message in error, please notify us
> immediately 1.800.443.1320  and destroy the original message and all
> copies.
>
> _______________________________________________
> This is the MI Programming on the AS400 / iSeries (MI400) mailing list
> To post a message email: MI400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/mi400
> or email: MI400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/mi400.


This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].