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.