In article <CA+oOHRgTC_6bbFLib5c5d8rArQbHs=t1cmgbfaka497yhff...@mail.gmail.com> 
you wrote:
> I created a trace facility to intercept external interface calls (MQ, DB2,
> IMS, etc) and dynamic calls.
> For dynamic calls, I intercept the load request and replace the entry point
> address with an entry point address of my own program. I then save the
> original entry point address to later branch to the intended program. The
> interception works for assembler and COBOL programs, but it fails for C
> programs. When intercepting a C program, the process abends with a 4038
> (CEE3550S  The DLL cannot be loaded because it does not contain a CEESTART
> CSECT).
> Is there a write-up on how the program load point is mapped and how to
> deduce the loaded program's language?
> I hoped to clone my assembler intercept program and create a second copy
> that includes the CEESTART macro to resolve this issue. However, I read
> that the CEESTART, CEEMAIN, and CEEFMAIN should not be used within an
> assembler program because it will produce unpredictable behavior. Must I
> write a C program?
> Thank you,
> Brian Chapman

I'm not sure how COBOL is working for you as it's an LE program the same
as C, but perhaps you're not using standard LE DLL's for your COBOL
programs. CEESTART is not a macro, it's a module/CSECT that gets linked
from the LE bind library when you compile an LE program or DLL. It's
always linked as the entry point as that's where the WSA is allocated
and other housekeeping before the user code is called (either main() or
the DLL function). LE doc is kind of spread all over the place, but
for writing an assembler front-end as you're doing, I think the LE
Vendor Interfaces book is something you should look at.

https://www.ibm.com/support/knowledgecenter/SSLTBW_2.4.0/com.ibm.zos.v2r4.ceev100/abstract.htm

-- 
Don Poitras - SAS Development  -  SAS Institute Inc. - SAS Campus Drive
[email protected]           (919) 531-5637                Cary, NC 27513

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to