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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to