For those interested, the following calls C function "@@GETCB" ( int
__getcb(int); ) passing the fullword 3 by value. There are several
alternatives, as discussed earlier, but this is what I am going with.
***********************************************************************
* see if we're running under cics by calling @@GETCB with fullword *
* value 3 (call by value). *
***********************************************************************
ceedsa ,
ceecaa ,
iscics ceeentry main=NO
call @@GETCB,(3)
ceeterm RC=(15)
ppa ceeppa ,
end iscics
Note: __getcb() and @@GETCB are the same routine. I couldn't figure out how
to get a lower case call literal to work. The assembler seems OK with it, but
the linker is converted to upper case, even though I've specified CASE(MIXED).
Any thoughts on this are welcome, even though it's working fine as-is. Using
lowercase literals in this manner is allowed in COBOL, even, with
"PGMNAME(mIxEdCaSe)".
By the way, there's no great reason this particular "program" couldn't be coded
in COBOL, PL/I or even C. I have similar code, along with additional code, in
another assembler program, which is why I wanted to know how to call by value.
If you are interested where I found @@GETCB for checking if running in a CICS
environment, check the <cics.h> C header file.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN