On Fri, Dec 1, 2017 at 6:21 PM, Frank Swarbrick <[email protected]
> wrote:

> I had the thought to test calling LE routines from the Swift beta.  I have
> been successful in calling a couple of the routines that are declared in
> the __le_api.h header.  But it appears that the CEE* routines are not
> available in 64-bit mode.  Is this true?  If so, any idea why?
>

​From:
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.ceea300/clscen1.htm

[quote]

*Restriction:* Language Environment services are not supported for AMODE 64
applications.

[/quote]​

However, there is this:
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.ceeam00/toc.htm

[quote from
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/com.ibm.zos.v2r3.ceeam00/overv.htm
]

Introduction to Language Environment for AMODE 64 applications

Language Environment supports 64-bit addressing for applications written in
C, C++, or Language Environment-conforming Assembler.

In the 64-bit addressing mode (AMODE 64) Language Environment supports
addresses that are 64 bits in length, which allows access to data in
virtual storage up to 16 exabytes. Hence applications that work with large
databases or large volumes of data can consolidate data in one address
space. There are a few things to note:

An AMODE 64 Language Environment® application supports XPLINK linkage only
and the C runtime environment is always initialized. A new library,
CELQLIB, is shipped for AMODE 64 support, while the existing libraries
continue to be shipped and supported.
Preinitialized environments are supported via CELQPIPI.
The user stack and heap, along with most of Language Environment storage is
above the 2 GB bar.
There is a new anchor for AMODE 64 applications so register 12 no longer
needs to be reserved for the address of the CAA.
The only means of communication between AMODE 64 and AMODE 24 or AMODE 31
applications is through mechanisms that can communicate across processes or
address spaces. However, Language Environment applications that use AMODE
64 can run with existing applications that use AMODE 24 or AMODE 31 on the
same physical z/OS® system.
Where necessary, there are new Language Environment runtime options to
support AMODE 64 applications. The new runtime options primarily support
the new stack and heap storage located above the bar. Some of the existing
options are no longer available.

[/quote]

​So I'm thinking that AMODE(64) is basically only for C & HLASM and you
_must_ use the 64-bit C subroutine ​library and/or the BPX4* (UNIX) and/or
assembler macros which handle 64-bits.



>
> I have no particular need for this, but I thought it would be interesting
> to do.
>
> Thanks,
> Frank
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>



-- 
I have a theory that it's impossible to prove anything, but I can't prove
it.

Maranatha! <><
John McKown

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

Reply via email to