On Thu, Oct 18, 2012 at 9:28 AM, Charles Mills <charl...@mcn.org> wrote:

> > the C/C++ needed to be callable from non-POSIX COBOL.
>
> It's worse than that. POSIX anything is not even callable from POSIX COBOL.
> That's how the message reads, and I just verified by running the COBOL
> program //CEEOPTS DD * POSIX(ON)
>
> What a PITA!
>
> LE. Grrrrrrrr.
>
> Am I reading what you say to imply that this should work if the C were on
> its own TCB (task)? That if I wrote a little COBOL-callable stub to ATTACH
> the C++ program and wait for it that it should work?
>
>
Charles - You are correct.  That is exactly what my process does.  COBOL
calls ASM.  ASM attaches task.  Attached task uses CEEPIPI to call
POSIX(ON) C/C++ code.
Sam


> Can anyone confirm or deny my conjecture that there is no straightforward
> programmatic way to turn POSIX(ON) from within a program (short of using
> CEEPIPI to build a new enclave, etc.). I can't have a "basic" C++ program
> that starts up and after a while says "this next function is going to
> require POSIX(ON)" and so calls setposix(true);
>
> Charles
>
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Sam Siegel
> Sent: Thursday, October 18, 2012 7:50 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Nested enclaves and POSIX(ON)
>
> On Thu, Oct 18, 2012 at 7:06 AM, Charles Mills <charl...@mcn.org> wrote:
>
> > I have a program written in LE C++ that is among other usages designed
> > to be callable from a COBOL (or potentially other LE) program. I
> > recently changed the program to run POSIX(ON) because it is now
> > sometimes calling the GSK crypto routines.
> >
> > Now, when I call it from a COBOL program I get the following error:
> >
> > CEE3648S POSIX(ON) run-time option in a nested enclave enclave-name is
> > not supported.
> > Explanation: In Language Environment, a process can have only one
> > enclave that is running with POSIX(ON), and that enclave must be the
> > first enclave. All nested enclaves must be running with POSIX(OFF).
> > Programmer response: Specify the POSIX(ON) run-time option for only
> > the first enclave. Make sure all nested enclaves specify POSIX(OFF).
> > System action: The application will be terminated.
> >
> > Is it truly the case that a POSIX(ON) main program can't be invoked
> > from another LE program? That seems kind of restrictive given that a
> > number of C library functions require POSIX(ON).
> >
>
> I ran into that problem with a bunch of C/C++ code that needed to be
> POSIX(ON).  Same requirement, the C/C++ needed to be callable from
> non-POSIX
> COBOL.
>
> My solution was to put the C/C++ in a seperate TCB and use CEEPIPI in that
> TCB to start a new LE ENCLAVE.
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

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