Re: RDJFCB function in C++

2018-02-09 Thread Kirk Wolf
BALR 14,15 invoke overflow routine > * at this point R0 has the new NAB, R2 has the newly acquired address > > Charles > > > -Original Message- > From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On > Behalf Of John McKown &g

Re: RDJFCB function in C++

2018-02-06 Thread Charles Mills
has the new NAB, R2 has the newly acquired address Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of John McKown Sent: Tuesday, February 6, 2018 12:53 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: RDJFCB function in C++ On Tue, Fe

Re: RDJFCB function in C++

2018-02-06 Thread John McKown
On Tue, Feb 6, 2018 at 2:38 PM, Charles Mills wrote: > I found my approach below in the IBM documentation on my "day one" of > C++/assembler integration. I have never done it any other way. > > What you are doing is appealing. There is something annoyingly inefficient > about a

Re: RDJFCB function in C++

2018-02-06 Thread Charles Mills
1:50 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: RDJFCB function in C++ On Tue, Feb 6, 2018 at 1:26 PM, Charles Mills <charl...@mcn.org> wrote: > e.g. > > #ifdef __MVS__ > extern "OS" { > #endif > void ABEND(const int code, const int reason); > int GETJESND(cha

Re: RDJFCB function in C++

2018-02-06 Thread John McKown
On Tue, Feb 6, 2018 at 1:26 PM, Charles Mills wrote: > e.g. > > #ifdef __MVS__ > extern "OS" { > #endif > void ABEND(const int code, const int reason); > int GETJESND(char JES_node[9]); > #ifdef __MVS__ > } > #endif > > Charles > ​Thanks! I now see where you're coming

Re: RDJFCB function in C++

2018-02-06 Thread Charles Mills
ohn McKown Sent: Tuesday, February 6, 2018 10:38 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: RDJFCB function in C++ On Tue, Feb 6, 2018 at 12:30 PM, Charles Mills <charl...@mcn.org> wrote: > +2 > > Full C/C++ does require LE or XPLINK linkage, but there is a macro and > it is no

Re: RDJFCB function in C++

2018-02-06 Thread John McKown
On Tue, Feb 6, 2018 at 12:30 PM, Charles Mills wrote: > +2 > > Full C/C++ does require LE or XPLINK linkage, but there is a macro and it > is not difficult at all. And once you have done one, the next one is > trivial. And you have to remember how C linkage works in general. If

Re: RDJFCB function in C++

2018-02-06 Thread Charles Mills
Subject: Re: RDJFCB function in C++ +1 C's support for imbedded assembler is sometimes useful for a very few instructions. I've attempted ATTACH in imbedded asm code, and the result was hideodious (and I found a bug anyway). The linkage for Metal C is quite standard and easy to use, plus you get

Re: RDJFCB function in C++

2018-02-06 Thread Steve Smith
+1 C's support for imbedded assembler is sometimes useful for a very few instructions. I've attempted ATTACH in imbedded asm code, and the result was hideodious (and I found a bug anyway). The linkage for Metal C is quite standard and easy to use, plus you get stack space, so there's usually no

Re: RDJFCB function in C++

2018-02-06 Thread Kirk Wolf
On Mon, Feb 5, 2018 at 3:28 PM, Seymour J Metz wrote: > Actually, IBM recommends use of RDJFCB rather than direct use of SWAREQ, > or at least used to. Note that with RDJFCB you can request an ARL for a > concatenation rather than just the information for a single DD. However, >

AW: Re: RDJFCB function in C++

2018-02-05 Thread Peter Hunkeler
>IIRC RDJFCB will give you space requested, but not space used. Right. We once had the same issue and decided to use an ISPF service to get that information. A little drawback: The program had to be run under batch TSO. This was fine for us, but YMMV. I can dig out that code if you're

Re: RDJFCB function in C++

2018-02-05 Thread Charles Mills
Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Seymour J Metz Sent: Monday, February 5, 2018 1:33 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: RDJFCB function in C++ You can't get all of that with RDJFCB; you also need OBTAIN. If you really need the space used, then write

Re: RDJFCB function in C++

2018-02-05 Thread Seymour J Metz
You can't get all of that with RDJFCB; you also need OBTAIN. If you really need the space used, then write an assembler routine to do an RDJFCB with an ARL and to do an OBTAIN for each dataset. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3

Re: RDJFCB function in C++

2018-02-05 Thread Seymour J Metz
online.de> Sent: Monday, February 5, 2018 12:24 PM To: IBM-MAIN@listserv.ua.edu Subject: Re: RDJFCB function in C++ IIRC, I had a similar problem once, when trying to retrieve the DS name from a 3 byte item which was located in the TIOT near the DD name. This was not possible to do using pure C, b

Re: RDJFCB function in C++

2018-02-05 Thread Don Poitras
Gilbert Saint-Flour is credited for this in the CBT file 183. It fails however at z/OS 2.2 and later. I submitted a fixed version you can find on the current tape. http://www.cbttape.org/ In article <680af6cc-ea22-b251-4667-f55936f3e...@gmail.com> you wrote: > The following snippet of REXX came

Re: RDJFCB function in C++

2018-02-05 Thread Robert Prins
On 2018-02-05 17:23, Bernd Oppolzer wrote: IIRC, I had a similar problem once, when trying to retrieve the DS name from a 3 byte item which was located in the TIOT near the DD name. This was not possible to do using pure C, because the 3 byte item (which was an address in early stages of MVS)

Re: RDJFCB function in C++

2018-02-05 Thread John McKown
On Mon, Feb 5, 2018 at 10:29 AM, Patrick Roehl wrote: > I'm writing some new code in C++ and can't find how to get info normally > found in RDJFCB. Specifically, I'm looking for getting info on an existing > dataset: space used, unit & volser, disposition, etc. > >

Re: RDJFCB function in C++

2018-02-05 Thread Bernd Oppolzer
IIRC, I had a similar problem once, when trying to retrieve the DS name from a 3 byte item which was located in the TIOT near the DD name. This was not possible to do using pure C, because the 3 byte item (which was an address in early stages of MVS) now is a sort of handle to an area which has

Re: RDJFCB function in C++

2018-02-05 Thread Charles Mills
As an experienced exploiter of that *type* of z/OS function from C++, but not having researched the specific problem, I will say that if I faced that need I would *probably* write a little assembler routine to issue RDJFCB and return the results to C++. Not having researched it, some of the