David, All,

I have to think about hardening a COBOL written STC performing security
calls. This my main reason for the question regarding the I/O error
handler, it makes sense to move the I/O into an assembler module or C..


Scott


On Fri, Aug 25, 2017 at 12:07 AM David Crayford <dcrayf...@gmail.com> wrote:

> On 25/08/2017 11:10 AM, Farley, Peter x23353 wrote:
> > That may well be true, but use of C stdio then requires POSIX mode,
> which makes it not suitable for a *generalized* file handler which might,
> for instance, need to be invoked in a totally non-LE environment.
>
> Good point about the non-LE environment.  The only time I run non-LE
> these days is systems level programming and I don't do much of that. I'm
> doing a lot of Java work these days and C stdio pops it's head up again
> when using ZFile. It's remarkable that I only need one simple wrapper
> class to access all the different file types on z/OS. It's not perfect
> though. I wish it had better support for enumerating PDS members.
>
> There is no POSIX requirement for C stdio (or sockets). In my experience
> the only time I've required POSIX semantics is to use runtime functions
> for threads, mutexes and IPC stuff.
>
> > I would agree with "hundreds of lines" but not thousands.  QSAM support
> only takes a few hundred, even including MOVE/LOCATE and UPDATE modes (and
> a lot of that can be explanatory comments for the next maintainer).  Maybe
> by the time the BSAM/BDAM/VSAM support was done you would have a thousand
> or more lines, but not I think two or three thousand.
> >
> > Depending on how many bells and whistles you want to include of course.
> As usual, YMMV.
>
> We've got a common code assembler VSAM I/O program that's ~1700 LOC, but
> it does have quite a few bells and whistles. fopen() has extra bling
> like dynamic allocation. Our assembler dynalloc routine is 987 LOC.  It
> all adds up and that's before adding extra layers of abstraction.
>
> >
> > Peter
> >
> > -----Original Message-----
> > From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU]
> On Behalf Of David Crayford
> > Sent: Wednesday, August 23, 2017 12:53 AM
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Subject: Re: Cobol Help
> >
> > On 22/08/2017 11:59 PM, Farley, Peter x23353 wrote:
> >> In that case the assembler I/O modules handled any errors that they
> could (SYNAD, etc.) and passed back error code(s) and messages to the COBOL
> interface module to pass up to the caller, simulating COBOL FILE STATUS and
> VSAM error variable where possible.
> >>
> >> Metal C might be a better choice for more generalized file I/O
> handling, one small step above assembler but with all assembler facilities
> available.
> > The best generalized file handling I've seen on z/OS is the C stdio
> > fopen() and friends (by a country mile). That one factory function can
> handle all the standard access methods: BSAM, QSAM, VSAM (KSDS, RRDS,
> ESDS), hiperspaces and Unix files. It's a thing of beauty. To code the
> equivalent functionality in Metal/C would take hundreds if not thousands of
> lines of code.
> >
> > --
> >
> >
> > This message and any attachments are intended only for the use of the
> addressee and may contain information that is privileged and confidential.
> If the reader of the message is not the intended recipient or an authorized
> representative of the intended recipient, you are hereby notified that any
> dissemination of this communication is strictly prohibited. If you have
> received this communication in error, please notify us immediately by
> e-mail and delete the message and any attachments from your system.
> >
> >
> > ----------------------------------------------------------------------
> > 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
>
-- 
Scott Ford
IDMWORKS
z/OS Development

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