Charles,

That was my thinking ..Gil unfortunately I am stuck with COBOL trying to
convince the powers-to-be to go to C++.
I have Threaded C pro types working for various functions we do.

One of things that I would like to do is call UNIX TSOCMD ..pass security
calls to it, still need more research ..

Scott


On Sat, Sep 2, 2017 at 8:42 PM Charles Mills <[email protected]> wrote:

> Hopefully John M. because Charles M. is a little lost! I've never used
> popen().
>
> If I had to add "UNIX services" to a COBOL program I think I would link
> (statically or dynamically) to a C program and do the UNIX stuff directly
> from there. But I have no idea if that would work well or what the gotcha's
> would be -- that would just be my first direction.
>
> Charles
>
>
> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]] On
> Behalf Of Paul Gilmartin
> Sent: Saturday, September 2, 2017 5:10 PM
> To: [email protected]
> Subject: Re: Unix-question
>
> On Sat, 2 Sep 2017 21:24:35 +0000, scott Ford wrote:
> >
> >How can a LE enable application, using COBOL, C , etc. call UNIX
> >services, perform a function a UNIX function And retrieving output back
> >to COBOL..hence I would have to , have COBOL call C issue 'popen' build
> >pipe, send commands Etc..,  is this correct ?
> >
> First, I'm COBOL-ignorant,
>
> I believe (I'm not doing a lot of research) popen() is not a system call
> but a CRTL function.
> You'd probably need a C bridge.
>
> popen() returns a stream pointer (FILE *), not likely to be useful in
> COBOL.
>
> The command is an argument to popen()  It may be a compound.
>
> I might imagin in C:
>
>     int filedes[ 2 ]
>
>     pipe( filedes )
>     popen( "cmd1; cmd2; ...; } >filedes[ 1 ] 2>&1", "r" );  /* omitting
> needed sprintf();  */
>
> (Would it be easier to use spawn() rather than popen()?)
>
> In COBOL (or C):
>     call BPXWDYN( alloc dd(DDNAME) path( /dev/fd/filedes[ 0 ] )
> filedata(TEXT) ... " ) (or however you do a DYNALLOC in COBOL.)
>
> Then OPEN and READ command output from DDNAME.
>
> I suspect John M. (or Charles M.) might know far more, if you choose to
> impose on them.
>
> -- gil
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions, send email
> to [email protected] with the message: INFO IBM-MAIN
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>
-- 
Scott Ford
IDMWORKS
z/OS Development

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

Reply via email to