MAXSNO an output paramter was not in my storage WS_DSECT
thankx again
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]]on
Behalf Of Binyamin Dissen
Sent: Wednesday, July 22, 2009 7:47 AM
To: [email protected]
Subject: Re: EZASMI re-entrant FAILS on INITAPI
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
----------------------------------------------------------------------
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