I have just found the piece of code;
it is in fact C for the most part.

The lookup of the TIOT entry for the corresponding DDNAME is done
using C, and then at DDNAME_TIOT + 8, there is a SWA-Token that
points at the JFCB (which starts with the 44 byte DSNAME). The access
to the JCFB etc. is done using C, too. Only SWAREQ is done using a
small ASSEMBLER subprogram.

This is the SWAREQ subprogram, callable from C:


CSWAREQ  CSECT
*
*-----------------------------------------------------------
*
*        int cswareq (char *psva, char **ppjfcb);
*
*        PSVA IST DER ZEIGER AUF EIN SVA-HANDLE
*        (Z.B. DER JFBC-POINTER AUS DER TIOT).
*
*        ZU DIESEM SVA-HANDLE LIEFERT SWAREQ
*        DIE ECHTE ADRESSE (DER JFCB LIEGT IN DER SWA -
*        SCHEDULER WORK AREA -, DESHALB IST DAS ETWAS
*        KOMPLIZIERTER).
*
*        DIE ADRESSE DES JFCB WIRD IM ERFOLGSFALL AN
*        DEN AUFRUFER ALS 2. PARAMETER ZURUECKGEGEBEN.
*
*-----------------------------------------------------------
*
         STM   14,12,12(13)
         LR    11,15
         USING CSWAREQ,11
         LA    15,SAVEAREA
         ST    15,8(13)
         ST    13,4(15)
         LR    13,15
*
         L     4,0(1)                  ADRESSE SVA
         L     5,4(1)                  ADRESSE DES JFCB-POINTERS
*
         LA    6,EPA                   ADRESSE EPA NACH AEPA
         ST    6,AEPA
         USING ZB505,6
         XC    SWAEPAX,SWAEPAX         EPA INITIALISIEREN
*
         MVC   SWVA,0(4)
         SWAREQ FCODE=RL,EPA=AEPA,UNAUTH=YES,MF=(E,SWAPARMS)
*
         LTR   15,15
         BZ    RETOK
*
         XC    0(4,5),0(5)
         B     RET
*
RETOK    DS    0H
         MVC   0(4,5),SWBLKPTR
*
RET      DS    0H
         L     13,4(13)
         L     14,12(13)
         LM    0,12,20(13)
         BR    14
*
*-----------------------------------------------------------
*
SAVEAREA DS    18F
*
AEPA     DS    A
EPA      DS    CL28
*
SWAPARMS SWAREQ MF=L
*
         CVT   DSECT=YES
*
         IEFJESCT
*
         IEFZB505 LOCEPAX=YES
*
         END


You could do the other things, using ASSEMBLER.
But I could send you the C functions, too, if you prefer C.

Kind regards

Bernd




Am 19.03.2015 um 23:55 schrieb Scott Ford:
Thanks Bernd, Sam I am looking at the SVC99() call you in C

On Thursday, March 19, 2015, Bernd Oppolzer <bernd.oppol...@t-online.de>
wrote:

I have a piece of ASSEMBLER code somewhere that does this;
if you wish, you could send me offline mail, so I could search my archives
and see if I find it. I recall that it was no big deal, when I did it ca.
15 or 20 years ago. After locating the DDNAME in the TIOT,
it used SWAREQ, IIRC, to find the corresponding DSNAME.

Kind regards

Bernd



Am 19.03.2015 um 21:56 schrieb Scott Ford:

All:

I have a need to find the current dataset name of a ddname of a STC
running. The STC is in Cobol and I would like to write the ddname query in
Assembler. Could I do the following ....

Call xyz passing ddname
... Either with EXTRACT or RDJFCB find the dataset name and pass it back

?

Regards,
Scott

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to