On Sat, 8 Apr 2023 at 00:27, Frank Swarbrick
<frank.swarbr...@outlook.com> wrote:
>
> 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)".

What goes wrong if you specify

call __getcb ?

You say "the linker is converted to upper case" - not sure what that
means. What is converting what to upper case?

Maybe you need an ALIAS assembler statement. I've used it for long
external names, but I don't know about casing. It may be that the
library supplied external name just is @@GETCB .

Tony H.

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