Joe:

What are you trying to accomplish exactly so we can better assist you ?
Scott

On Tue, Oct 29, 2019 at 8:52 AM Joseph Reichman <reichman...@gmail.com>
wrote:

> I guess I could do a series of calls to the exports things is they all
> share a global area
>
> Thanks
>
>
> On Oct 29, 2019, at 8:47 AM, David Crayford <dcrayf...@gmail.com> wrote:
> >
> > Why do you need a DLL? Can you just use PIPI to call a static program?
> >
> >> On 2019-10-29 8:15 PM, Joseph Reichman wrote:
> >> This is add_entry I was using INIT_SUB, INIT_MAIN regardless that’s a
> good idea to try to use add_entry
> >> After init_sub/MAIN
> >> This is the program I trying to initiate as in Assembler LE 64 bit
> prolog CELQPRLG does not have a main and I cannot call a 64 C DLL I was
> thinking CELQPIPI would resolve these issues
> >>
> >> Thanks
> >>     TEST64A  CELQPRLG FETCHABLE=RENT,PSECT=MYPSECT,ENTNAME=TEST64A
> >>          YREGS
> >> *        LOAD  EP=CEETEST
> >> *        LR    R15,R0
> >> *        BASR  R14,R15
> >>          CELQCALL opendata,(SYSADATA),WORKREG=10
> >>          XR      R15,R15
> >>          CELQEPLG
> >> SYSADATA DC     CL8'SYSADATA'
> >> *        CEEPDDA opendata,SCOPE=IMPORT
> >> PARM1    DC     A(COMMANDS)
> >> PARM2    DC     A(FEEDBACK)
> >>           DS     0H
> >>          DC     H'9'
> >> COMMANDS DC     C'AT ENTRY '
> >> FEEDBACK DS     CL12
> >>          CEEDSA SECTYPE=XPLINK PING OF THE DYNAMIC SAVE AREA
> >>          CEECAA             MAPPING OF THE COMMON ANCHOR AREA
> >> *LLPPA   CEEPPA
> >> WORKAREA DSECT
> >>          DS 0D
> >> WORKSIZE EQU *-WORKAREA
> >> *        CEEEDB             MAPPING OF THE ENCLAVE DATA BLOCK
> >>          END
>
> >>
> >>
> >>
> >> -----Original Message-----
> >> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On
> Behalf Of Joe Monk
> >> Sent: Tuesday, October 29, 2019 3:34 AM
> >> To: IBM-MAIN@LISTSERV.UA.EDU
> >> Subject: Re: Return code X'20' 32 from CELQPIPI INIT_MAIN
> >>
> >> So .... according to:
> >>
> >> "20 The routine_name contains only blanks and the routine_entry was
> zero.
> >> The PreInit table was not updated."
> >>
> >>
> https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.ceeam00/ceeam141.htm
> >>
> >> Joe
> >>
> >> On Mon, Oct 28, 2019 at 8:55 PM Joseph Reichman <reichman...@gmail.com>
> >> wrote:
> >>
> >>> The listing has the SYSSTATE  set AMODE 64 The  LISTPSW  indicates
> >>> botH the EA and BA BITS of the PSW as one indicating AMODE 64 at
> >>> location F8 right before the call CELQPIPI
> >>>
> >>>
> >>>   CEEWQPIP: LOADing CELQPIPI
> >>> CEEWQPIP: Doing CELQPIPI INIT_MAIN
> >>> IKJ57024I AT +F6
> >>> TEST
> >>> istpsw
> >>> IKJ57652I PSW LOCATED AT 8BA068
> >>>   XRXXXTIE   KEY  XMWP  AS CC  PROGMASK  EA BA  INSTR ADDR
> >>>   00000111    8   1101  00 00    0000                   1  1   1F7010F6
> >>>
> >>> TEST
> >>> t +f8
> >>> TEST
> >>> o
> >>> CEEWQLOD: Called to LOAD "TEST64A "
> >>> IKJ57024I AT +F8
> >>> TEST
> >>>
> >>> The program is AMODE 64
> >>>
> >>> ________ TEST64A                            00000D30   0001D6   00
> 64
> >>> ANY
> >>>
> >>> This is a listing of the table
> >>> +CEEXPTBL DC    CL8'CELQPTBL'            Eyecatcher
> >>> +         DC    A(CELQPIT0058)           Number of e
> >>> +         DC    F'16'                    Entry size
> >>> +         DC    F'100'                   Version
> >>> ice routines
> >>>
> >>>   Source Statement                          HLASM R6
> >>> +         DC    AL1(0)
> >>> +         DC    3X'00'
> >>>                CELQPITY TEST64A,0     ically load CE
> >>> +         DC    CL8'TEST64A'             Name, set t
> >>> +         DC    AD(0)                    Load dblwd
> >>>                CELQPITS ,             End of CELQPIP
> >>> +CELQPIT0058 EQU 1                       Number of e
> >>>  *
> >>> Here is the listing of TEST64A
> >>>
> >>> TEST64A  CELQPRLG FETCHABLE=RENT,PSECT=MYPSECT,ENTNAME=TEST64A
> >>>          YREGS
> >>> *        LOAD  EP=CEETEST
> >>> *        LR    R15,R0
> >>> *        BASR  R14,R15
> >>>          CELQCALL opendata,(SYSADATA),WORKREG=10
> >>>          XR      R15,R15
> >>>          CELQEPLG
> >>> SYSADATA DC     CL8'SYSADATA'
> >>> *        CEEPDDA opendata,SCOPE=IMPORT
> >>> PARM1    DC     A(COMMANDS)
> >>> PARM2    DC     A(FEEDBACK)
> >>>
> >>> Here is the link
> >>> For TEST64A
> >>>
> >>> //*****************************************************************
> >>> //* LINK EDIT THE PROGRAM                                         *
> >>> //*****************************************************************
> >>> //STEP0200 EXEC PGM=IEWL,COND=(0,LT,STEP0100),
> >>> //             PARM='AMODE(64),LIST,MAP,XREF,CASE=MIXED,DYNAM=DLL'
> >>> //SYSPRINT DD SYSOUT=*
> >>> //SYSDEFSD DD SYSOUT=*
> >>> //OBJ      DD DSN=&&HEXOBJ,DISP=(OLD,PASS)
> >>> //SYSLIB   DD DISP=SHR,DSN=IBMUSER.DBGR.DLLLIB
> >>> //         DD DISP=SHR,DSN=CEE.SCEEBND2
> >>> //         DD DISP=SHR,DSN=CEE.SCEELKED
> >>> //SYSLMOD  DD DISP=SHR,DSN=IBMUSER.DBGR.DLLLIB
> >>> //SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(3,2)),DSN=&SYSUT1
> >>> //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FB,BLKSIZE=3509)
> >>> //SYSLIN   DD *
> >>>   IMPORT CODE64,'SYSADATA','opendata'
> >>>   INCLUDE OBJ(TEST64A)
> >>>   ENTRY TEST64A
> >>>   NAME TEST64A(R)
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>                                               84 *
> >>>                                                85
> >>> **********************************************************************
> >>>                                                86 *
> >>>  00000000                00000000 000007B0     87 CEEWQPIP CSECT    ,
> >>>                                                88 CEEWQPIP AMODE    64
> >>>                                                89 CEEWQPIP RMODE    31
> >>>                                                90          SYSSTATE
> >>> AMODE64=YES
> >>>                                                91+*        THE VALUE OF
> >>> SYSSTATE IS NOW SET TO ASCENV=P AMODE64=YES ARCHLX01-SYSSTATE
> >>>                                                  +               VL=2
> >>> OSREL=00000000
> >>>  00000000 010E                                 92          SAM64    ,
> >>>                                                93 *
> >>>                                                94 *
> >>>                                                95 *        Standard
> 64-bit
> >>> entry linkage
> >>>                                                96 *
> >>> -----------------------------
> >>>                                                97 *
> >>>  00000002 EBEC D008 0024          00000008     98          STMG
> >>>  R14,R12,SAVF4SAG64RS14-SAVF4SA(R13)  Save caller regs
> >>>  00000008 0DB0                                 99          BASR
>  R11,0
> >>>                               Set up basereg
> >>>                      R:B 0000000A             100          USING
> *,R11
> >>>                               Addressabliity
> >>>                                               101          GETMAIN
> >>> RU,LV=DSA_L                          Obtain DSA
> >>>  0000000A                                     103+         DS    0H
> >>>                                           @P5C 01-GETMAIN
> >>>  0000000A                                     104+IHB0002C DS     0H
> >>>                                                 01-GETMAIN
> >>>  0000000A 5800 B36E               00000378    105+         L
> >>>  0,=A(DSA_L)        LOAD LENGTH                           01-GETMAIN
> >>>  0000000E 58F0 B372               0000037C    106+         L
> >>>  15,=AL1(B'00000000',(0),(0),B'00000010')                X01-GETMAIN
> >>>                                                  +
> >>>                          LOAD GETMAIN PARMS
> >>>  00000012 1B11                                107+         SR    1,1
> >>>                ZERO RESERVED REG 1              01-GETMAIN
> >>>  00000014 0A78                                108+         SVC   120
> >>>                ISSUE GETMAIN SVC                01-GETMAIN
> >>>  00000016 E3D0 1080 0024          00000080    109          STG
> >>> R13,SAVF4SAPREV-SAVF4SA(,R1)         Set backchain
> >>> i0000001C E310 D088 0024          00000088    110          STG
> >>> R1,SAVF4SANEXT-SAVF4SA(,R13)         Set fwd chain
> >>>           Sample AMODE64 PreInit DRIVER with service routines
> >>>                                      Page    5
> >>>    Active Usings: CEEWQPIP+X'A',R11
> >>>    Loc    Object Code      Addr1    Addr2    Stmt  Source Statement
> >>>                   HLASM R6.0  2019/10/28 20.02
> >>>  00000022 D203 D004 B376 00000004 00000380    111          MVC
> >>> SAVF4SAID-SAVF4SA(R4,R13),=A(SAVF4SAID_VALUE)  "F4SA"
> >>>  00000028 B904 00D1                           112          LGR
> >>> R13,R1                               Set up DSAreg
> >>>                      R:D 00000000             113          USING
> >>> DSA,R13                              Addressability
> >>>                                               114 *
> >>>                                               115 *
> >>>                                               116 *        Issue LOAD
> for
> >>> CELQPIPI (will ABEND if LOAD fails)
> >>>                                               117 *
> >>> -----------------------
> >>>                                               118 *
> >>>                                               119          WTO
> >>> 'CEEWQPIP: LOADing CELQPIPI',ROUTCDE=11
> >>>  0000002C                                     121+         CNOP  0,4
> >>>                                                 01-WTO
> >>>  0000002C A715 0013               00000052    122+         BRAS
> >>> 1,IHB0004A               BRANCH AROUND MESSAGE      @LCC 01-WTO
> >>>  00000030 001E                                123+         DC
> AL2(30)
> >>>                 TEXT LENGTH            @YA17152 01-WTO
> >>>  00000032 8000                                124+         DC
> >>> B'1000000000000000'      MCSFLAGS                        01-WTO
> >>>  00000034 C3C5C5E6D8D7C9D7                    125+         DC
> >>> C'CEEWQPIP: LOADing CELQPIPI'                           X01-WTO
> >>>  0000003C 7A40D3D6C1C48995                       +
> >>>                 MESSAGE TEXT               @L6C
> >>>  0000004E 0000                                126+         DC
> >>> B'0000000000000000'      DESCRIPTOR CODES                01-WTO
> >>>  00000050 0020                                127+         DC
> >>> B'0000000000100000'      ROUTING CODES                   01-WTO
> >>>  00000052                                     128+IHB0004A DS    0H
> >>>                                                01-WTO
> >>>  00000052 0A23                                129+         SVC   35
> >>>                ISSUE SVC 35               @L6A 01-WTO
> >>>                                               130 *
> >>>                                               131          LOAD
> >>> EP=CELQPIPI              LOAD LE main module
> >>>  00000054                                     133+         CNOP  0,4
> >>>                                            @L2P 01-LOAD
> >>>  00000054 A7F5 0006               00000060    134+         BRAS
> >>> 15,LOAD2_0006      BRANCH AROUND CONSTANT(S)             01-LOAD
> >>>  00000058                                     135+LD2_0006    DS 0H
> >>>                                                01-LOAD
> >>>  00000058 C3C5D3D8D7C9D7C9                    136+LE2_0006    DC
> >>> CL8'CELQPIPI'      ENTRY POINT NAME                      01-LOAD
> >>>  00000060                                     137+LOAD2_0006    DS 0H
> >>>                                                01-LOAD
> >>>  00000060 4100 F000               00000000    138+         LA
> >>> 0,LE2_0006-LD2_0006(,15)         ADDR OF PARAMETER       01-LOAD
> >>>  00000064 1B11                                139+         SR    1,1
> >>>           SHOW NO DCB PRESENT                   01-LOAD
> >>>  00000066 0A08                                140+         SVC   8
> >>>                                                 01-LOAD
> >>>  00000068 E300 B366 0080          00000370    141          NG
> >>> R0,=X'00000000FFFFFFFE'  Clear low (AMODE64) bit
> >>>  0000006E E300 D090 0024          00000090    142          STG
> >>>  R0,CELQPIPI_EP           Save CELQPIPI E.P. Address
> >>>                                               143 *
> >>>                                               144 *
> >>>                                               145 *        Set up
> Service
> >>> Routine Vector and parm
> >>>                                               146 *
> >>> --------------------------------------
> >>>                                               147 *
> >>>  00000074 D24F D0E0 B696 000000E0 000006A0    148          MVC
> >>>  SV_DYNAMIC,SV_STATIC     Copy over into DSA
> >>>  0000007A 41F0 D1E8               000001E8    149          LA
> >>> R15,USER_AREA            Point to 1000-byte user area
> >>>  0000007E E3F0 D0E8 0024          000000E8    150          STG
> >>>  R15,SV_UWORD             SV user word -> user area
> >>>  00000084 41F0 D0E0               000000E0    151          LA
> >>> R15,SV_DYNAMIC           Address of modifiable SV
> >>>  00000088 E3F0 D0A0 0024          000000A0    152          STG
> >>>  R15,SERVICE_RTNS         Save as parm for INIT_MAIN
> >>>                                               153 *
> >>>                                               154 *
> >>>                                               155 *        Do CELQPIPI
> >>> INIT_MAIN
> >>>                                               156 *
> >>> ---------------------
> >>>                                               157 *
> >>>                                               158          WTO
> >>>  'CEEWQPIP: Doing CELQPIPI INIT_MAIN',ROUTCDE=11
> >>>  0000008E 0700                                160+         CNOP  0,4
> >>>                                                 01-WTO
> >>>  00000090 A715 0017               000000BE    161+         BRAS
> >>> 1,IHB0008A               BRANCH AROUND MESSAGE      @LCC 01-WTO
> >>>  00000094 0026                                162+         DC
> AL2(38)
> >>>                 TEXT LENGTH            @YA17152 01-WTO
> >>>  00000096 8000                                163+         DC
> >>> B'1000000000000000'      MCSFLAGS                        01-WTO
> >>>  00000098 C3C5C5E6D8D7C9D7                    164+         DC
> >>> C'CEEWQPIP: Doing CELQPIPI INIT_MAIN'                   X01-WTO
> >>>  000000A0 7A40C49689958740                       +
> >>>                 MESSAGE TEXT               @L6C
> >>>  000000BA 0000                                165+         DC
> >>> B'0000000000000000'      DESCRIPTOR CODES                01-WTO
> >>> i000000BC 0020                                166+         DC
> >>> B'0000000000100000'      ROUTING CODES                   01-WTO
> >>>           Sample AMODE64 PreInit DRIVER with service routines
> >>>                                      Page    6
> >>>    Active Usings: CEEWQPIP+X'A',R11  DSA,R13
> >>>    Loc    Object Code      Addr1    Addr2    Stmt  Source Statement
> >>>                   HLASM R6.0  2019/10/28 20.02
> >>>  000000BE                                     167+IHB0008A DS    0H
> >>>                                                01-WTO
> >>>  000000BE 0A23                                168+         SVC   35
> >>>                ISSUE SVC 35               @L6A 01-WTO
> >>>                                               169 *
> >>>  000000C0 B982 0000                           170          XGR   R0,R0
> >>>  000000C4 E3F0 D090 0004          00000090    171          LG
> >>> R15,CELQPIPI_EP          Address of CELQPIPI E.P.
> >>>                                               172 *
> >>>                                               174          CALL  (15),
> >>>                                                X
> >>>
> >>>  (INIT_MAIN,              CELQPIPI INIT_MAIN request     X
> >>>
> >>>  CEEXPTBL_ADDR,           Address of CELQPIPI table      X
> >>>
> >>>  SERVICE_RTNS,            Address of service rtn vector  X
> >>>
> TOKEN),
> >>>                 Token from INIT_MAIN           X
> >>>
> >>>  MF=(E,CALL_PL)
> >>>  000000CA                                     176+         DS    0H
> >>>                                                01-CALL
> >>>  000000CA 4110 D138               00000138    181+         LA
> >>> 1,CALL_PL                         LOAD PARAMETER REG 1   03-IHBINNRR
> >>>  000000CE 4100 B386               00000390    182+         LA
> >>> 0,INIT_MAIN        PICKUP  PARAMETER                     02-IHBOPLTX
> >>>  000000D2 E300 1000 0024          00000000    183+         STG
>  0,0(0,1)
> >>>                         STORE INTO PARAM. LIST 02-IHBOPLTX
> >>>  000000D8 4100 B57E               00000588    184+         LA
> >>> 0,CEEXPTBL_ADDR    PICKUP  PARAMETER                     02-IHBOPLTX
> >>>  000000DC E300 1008 0024          00000008    185+         STG
>  0,8(0,1)
> >>>                         STORE INTO PARAM. LIST 02-IHBOPLTX
> >>>  000000E2 4100 D0A0               000000A0    186+         LA
> >>> 0,SERVICE_RTNS     PICKUP  PARAMETER                     02-IHBOPLTX
> >>>  000000E6 E300 1010 0024          00000010    187+         STG
> >>>  0,16(0,1)                         STORE INTO PARAM. LIST 02-IHBOPLTX
> >>>  000000EC 4100 D098               00000098    188+         LA
> 0,TOKEN
> >>>           PICKUP  PARAMETER                     02-IHBOPLTX
> >>>  000000F0 E300 1018 0024          00000018    189+         STG
> >>>  0,24(0,1)                         STORE INTO PARAM. LIST 02-IHBOPLTX
> >>>  000000F6 05EF                                190+         BALR  14,15
> >>>                          BRANCH TO ENTRY POINT  01-CALL
> >>>                                               191 *
> >>>                                               192 *
> >>>                                               193 *        Check
> results
> >>> of INIT_MAIN
> >>>                                               194 *
> >>>  000000F8 B902 002F                           195          LTGR
> >>>
> >>>  -----Original Message-----
> >>> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On
> >>> Behalf Of Jon Perryman
> >>> Sent: Monday, October 28, 2019 8:38 PM
> >>> To: IBM-MAIN@LISTSERV.UA.EDU
> >>> Subject: Re: Return code X'20' 32 from CELQPIPI INIT_MAIN
> >>>
> >>>  The CALL macro supports 32 and 64 bit parm addresses. I believe it
> >>> defaults to 32 bit and the SYSSTATE macro is used to change it. Does
> >>> CELQPITY require 64 bit parm list? If so, make sure you have SYSSTATE
> >>> prior to the call. Also make sure SYSSTATE is before the CALL MF=L.
> >>>
> >>> I've never used TEST so I'm not familiar with the specifics. Your
> >>> listing below seems to show it running the program with AMODE=31 and
> >>> the L commands only display fullwords. Did you switch to AMODE64
> before calling CELQPITY?
> >>>
> >>>
> >>> Jon.
> >>>
> >>>     On Monday, October 28, 2019, 05:08:58 PM PDT, Joseph Reichman <
> >>> reichman...@gmail.com <mailto:reichman...@gmail.com> > wrote:
> >>>
> >>>  Just tried it with the service_rtns parm exactly as it was in the
> >>> sample with the exception That the CELQPITY points to my 64 bit
> >>> assembler program TEST64A  program and do X'20' DECIMAL 32
> >>>
> >>>       CALL  (15),
> >>>                     X
> >>>             (INIT_MAIN,              CELQPIPI INIT_MAIN request    X
> >>>             CEEXPTBL_ADDR,          Address of CELQPIPI table      X
> >>>             SERVICE_RTNS,            Address of service rtn vector    X
> >>>             TOKEN),                  Token from INIT_MAIN
> >>>     X
> >>>             MF=(E,CALL_PL)
> >>>
> >>> I traced the CEEWQLOAD it loaded TEST64A which had bit 63 as a one
> >>> After the load
> >>>
> >>>   IKJ57382I ENTRY POINT AT 1F790140    AMODE=31  TEST L +F6
> >>>       +F6  05EFB902  TEST AT +F6  TEST AT +F8  TEST GO
> >>>  CEEWQPIP: LOADing CELQPIPI
> >>>  CEEWQPIP: Doing CELQPIPI INIT_MAIN  IKJ57024I AT +F6  TEST GO
> >>>  CEEWQLOD: Called to LOAD "TEST64A "  IKJ57024I AT +F8  TEST L 15R
> >>> 15R
> >>> 00000020
> >>>
> >>> ----------------------------------------------------------------------
> >>> For IBM-MAIN subscribe / signoff / archive access instructions, send
> >>> email to lists...@listserv.ua.edu <mailto: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
> >
> > ----------------------------------------------------------------------
> > 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
>


-- 



*IDMWORKS *

Scott Ford

z/OS Dev.




“By elevating a friend or Collegue you elevate yourself, by demeaning a
friend or collegue you demean yourself”



www.idmworks.com

scott.f...@idmworks.com

Blog: www.idmworks.com/blog





*The information contained in this email message and any attachment may be
privileged, confidential, proprietary or otherwise protected from
disclosure. If the reader of this message is not the intended recipient,
you are hereby notified that any dissemination, distribution, copying or
use of this message and any attachment is strictly prohibited. If you have
received this message in error, please notify us immediately by replying to
the message and permanently delete it from your computer and destroy any
printout thereof.*

----------------------------------------------------------------------
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