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
