On Wed, 22 Jul 2009 04:23:02 -0400 Rob Scott <[email protected]> wrote:
:>A couple of things : :>(1) Where is MY_PARM located? - I would hope that it is within the WS_DSECT area (ie your working storage) MY_PARM is probably fine as the operand of MF=E is (usually) altered by in-line code. Most likely one of the other output fields. This is yet another great case for the system to 0C4 instead of giving a return code. This is a true logic error where the return code will not help. :>(2) I would advise that you perform the following before calling EZASMI : :> XC MY_PARM(MY_PARM_LEN),MY_PARM :>(3) Why not dump out the contents of MY_PARM after the failure and see what it looks like :> :> :>Rob Scott :>Developer :>Rocket Software :>275 Grove Street * Newton, MA 02466-2272 * USA :>Tel: +1.617.614.2305 :>Email: [email protected] :>Web: www.rocketsoftware.com :> :>-----Original Message----- :>From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of joereichman :>Sent: 22 July 2009 08:37 :>To: [email protected] :>Subject: Re: EZASMI re-entrant FAILS on INITAPI :> :>I get a return code of -1 and errno is is X'0000000E' :>as it goes to the label specfied in ERROR=ERROR :> :>Where I have a ABEND with a DUMP operand The Following is a explaination of errno 14 from Sockets Application Programming Interface Guide and reference Appendix 1.2.1.1 :> :> :> 14 FAULT All An incorrect storage address or length was :>specified. Checkk validity of function parameters. :> :> :>-----Original Message----- :>From: IBM Mainframe Discussion List [mailto:[email protected]]on Behalf Of Binyamin Dissen :>Sent: Wednesday, July 22, 2009 2:13 AM :>To: [email protected] :>Subject: Re: EZASMI re-entrant FAILS on INITAPI :> :> :>On Tue, 21 Jul 2009 22:04:21 -0400 Joe Reichman <[email protected]> :>wrote: :> :>:>When this code isn't linked with RENT it works with RENT it fails :> :>How does it fail? :> :>:>*---------------------------------------------------------------------* :>:>* GET WORKING STORAGE * :>:>*---------------------------------------------------------------------* :>:> LA R10,WS_LEN GET WORKING STORAGE LENGTH :>:> STORAGE OBTAIN,LENGTH=(R10),ADDR=(R12),SP=0 :>:> USING WS_DSECT,R13 STORAGE DSECT :>:> ST R13,4(,R12) BACK LINK FORWARD LINK :>:> ST R12,8(,R13) :> :>Perhaps missing :> :> LR R13,R12 :> :>here? :> :>:> :>:>*---------------------------------------------------------------------* :>:>* GET STORAGE FOR THE GLOABL AREA * :>:>*---------------------------------------------------------------------* :>:> LA R10,GWALENTH :>:> STORAGE OBTAIN,LENGTH=(R10),ADDR=(R12),SP=0 :>:> USING EZASMGW,R12 :>:>*---------------------------------------------------------------------* :>:>* GET TASK STORAGE * :>:>*---------------------------------------------------------------------* :>:> LA R10,TIELENTH :>:> STORAGE OBTAIN,LENGTH=(R10),ADDR=(R11),SP=0 :>:> USING MYTIE,R11 :>:> :>:> EZASMI TYPE=INITAPI, Issue INITAPI Macro X :>:> SUBTASK=SUBTASK, SPECIFY SUBTASK IDENTIFIER X :>:> MAXSOC=MAXSOC, SPECIFY MAXIMUM NUMBER OF SOCKETS X :>:> MAXSNO=MAXSNO, (HIGHEST SOCKET NUMBER ASSIGNED) X :>:> ERRNO=ERRNO, (Specify ERRNO field) X :>:> RETCODE=RETCODE, (Specify RETCODE field) X :>:> APITYPE=APITYPE, (SPECIFY APITYPE FIELD) X :>:> ERROR=ERROR, ABEND IF ERROR ON MACRO X :>:> ASYNC=('ECB') (SPECIFY ECBS) :>:> TASK=MYTIE,MF=(E,MY_PARM) :>:> :>:> :>:>*--- STORAGE DEFINATIONS :>:> :>:> *---------------------------------------------------------------------* :>:> * GLOBAL AREA :>:> *---------------------------------------------------------------------* :>:> EZASMGW EZASMI TYPE=GLOBAL, Storage definition for GWA X :>:> STORAGE=DSECT :>:> *---------------------------------------------------------------------* :>:> TASK DSECT :>:> *---------------------------------------------------------------------* :>:> MYTIE EZASMI TYPE=TASK,STORAGE=DSECT TIE :>:> :>:>MY_PARM EZASMI MF=L :>:>MY_PARM_LEN EQU *-MY_PARM :>:> :>:> :>:> :>:> :>:> :>:> :>:> :>:> :>:>-----Original Message----- :>:> :>:> :>:> :>:>From: joereichman [mailto:[email protected]] :>:>Sent: Tuesday, July 21, 2009 9:54 PM :>:>To: [email protected] :>:>Subject: FW: EZASMI re-entrant FAILS on INITAPI :> :> :> :> :>-----Original Message----- :>:>From: IBM Mainframe Discussion List [mailto:[email protected]]on :>Behalf Of Binyamin Dissen :>:>Sent: Tuesday, July 21, 2009 2:50 AM :>:>To: [email protected] :>:>Subject: Re: EZASMI re-entrant FAILS on INITAPI :> :> :>On Mon, 20 Jul 2009 20:00:20 -0400 Joe Reichman <[email protected]> :>:>wrote: :>:> :>:>:>Would anyone know if there are any special considerations using the :> :>:>Assembler EZASMI macro when the module is link'ed re-entrant :> :>:>I have code that works perfectly :> :>:>However when I link it with RENT (also made the program re-entrant) :> :>:>the INITAPI API fails :> :>My guess would be that you missed something making it reentrant. Show the :>code. Describe what failed. -- Binyamin Dissen <[email protected]> http://www.dissensoftware.com Director, Dissen Software, Bar & Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

