Re: TSOLIB, BLDL RDJFCB

2011-04-04 Thread Etienne Thijsse
On Fri, 1 Apr 2011 14:31:23 -0400, Shmuel Metz (Seymour J.) shmuel+ibm- m...@patriot.net wrote: In listserv%201103301227401014.0...@bama.ua.edu, on 03/30/2011 at 12:27 PM, Etienne Thijsse e.thij...@chello.nl said: Thank you for your reply, but that does not seem to be the solution

Re: TSOLIB, BLDL RDJFCB

2011-03-31 Thread Etienne Thijsse
:Sorry - now it looks like using TCBJLB does work... BLDL gives success. I must :have done something wrong before... Thanks! :What remains now is to find the DDname TCBJLB is pointing to. DCBTIOT. Thank you again but I am afraid this is a little too terse for me to understand... How do I

Re: TSOLIB, BLDL RDJFCB

2011-03-31 Thread Etienne Thijsse
TCBJLB points to a DCB. TCBTIOA points to the TIOT DCBTIOT is the offset in the TIOT for the opened DCB. I can't find anything on TCBTIOA, I think you mean TCBTIO ? And, I know DCBTIOT is an offset, but From Where? The start of the TIOT ? That gives me nothing. From TCBTIO-TIOENTRY ? That

Re: TSOLIB, BLDL RDJFCB

2011-03-31 Thread Etienne Thijsse
On Thu, 31 Mar 2011 13:02:09 +0200, Binyamin Dissen bdis...@dissensoftware.com wrote: On Thu, 31 Mar 2011 05:38:33 -0500 Etienne Thijsse e.thij...@chello.nl wrote: :TCBJLB points to a DCB. :TCBTIOA points to the TIOT :DCBTIOT is the offset in the TIOT for the opened DCB. :I can't find

Re: TSOLIB, BLDL RDJFCB

2011-03-31 Thread Etienne Thijsse
TCB is a 16-bit unsigned offset from the address in TCBTIO. If the DD name is blank, you need to scan through the TIOT entries (ignore voided entries) until the last non-blank entry prior to your offset. The JFCB address (minus 16 bytes) is obtained from the TIOT entry in TIOEJFCB after that's

Re: TSOLIB, BLDL RDJFCB

2011-03-31 Thread Etienne Thijsse
On Thu, 31 Mar 2011 07:28:54 -0500, McKown, John john.mck...@healthmarkets.com wrote: Just to throw in one possible wrench. I don't know anything about your environment and the environment that your routine will be invoked in. However, one problem that is not addressed is what if your program

Re: TSOLIB, BLDL RDJFCB

2011-03-31 Thread Etienne Thijsse
On Wed, 30 Mar 2011 22:13:28 -0400, Shmuel Metz (Seymour J.) shmuel+ibm-m...@patriot.net wrote: Don't forget tasklib[1]. That can be an issue for batch, not just for foreground TSO. All I have been able to find thus far is that TASKLIB is a parameter of the ATTACH macro, nothing on how to

TSOLIB, BLDL RDJFCB

2011-03-30 Thread Etienne Thijsse
Hi, I need my C program to start another program that is in the same load library. To discover the name of this load library, I use BLDL to get a concatenation number in STEPLIB or JOBLIB, and RDJFCB with DDname STEPLIB or JOBLIB to get the name from these lists. This works fine in batch. Now

Re: TSOLIB, BLDL RDJFCB

2011-03-30 Thread Etienne Thijsse
On Wed, 30 Mar 2011 17:29:25 +0200, Binyamin Dissen bdis...@dissensoftware.com wrote: On Wed, 30 Mar 2011 09:35:02 -0500 Etienne Thijsse e.thij...@chello.nl wrote: :I need my C program to start another program that is in the same load library. :To discover the name of this load library, I use

Re: TSOLIB, BLDL RDJFCB

2011-03-30 Thread Etienne Thijsse
On Wed, 30 Mar 2011 17:29:25 +0200, Binyamin Dissen bdis...@dissensoftware.com wrote: On Wed, 30 Mar 2011 09:35:02 -0500 Etienne Thijsse e.thij...@chello.nl wrote: :I need my C program to start another program that is in the same load library. :To discover the name of this load library, I use

Re: Name of a program's library

2010-10-06 Thread Etienne Thijsse
Thanks, Eileen, for showing me the way. I have been able to create a C program that calls a few assembler modules to do the BLDL call to get the STEPLIB concatenation nr, and then the RDJFCB call to get the dataset name. It was a bit complicated because the C program is 31 bit and RDJFCB must

Name of a program's library

2010-09-29 Thread Etienne Thijsse
Hi, Is there a way for a C program (LE) to find out what library (PDSE) it is in? I expected this information in argv[0], but that only contains the member name, not the PDSE itself. Is there an LE function for this? Or can it be found in some control block? Thanks, Etienne

Re: Name of a program's library

2010-09-29 Thread Etienne Thijsse
a look at the thread How tell name of originating load library? from IBMMAIN in 2005 especially GSF's post of Thu 8/18/2005. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Etienne Thijsse Sent: Wednesday, September 29, 2010 2:14 AM

Re: Name of a program's library

2010-09-29 Thread Etienne Thijsse
the JFCBDSNM (dsname) can be obtained. -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Etienne Thijsse Sent: Wednesday, September 29, 2010 9:34 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Name of a program's library Thanks Charles, The thread does

Re: Name of a program's library

2010-09-29 Thread Etienne Thijsse
),MF=L DROP LINKREG LTORG EJECT -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Etienne Thijsse Sent: Wednesday, September 29, 2010 11:08 AM To: IBM-MAIN@bama.ua.edu Subject: Re: Name of a program's library

fork(), SDSF

2010-09-23 Thread Etienne Thijsse
Hi, I have a question about using fork() in a C program. In SDSF, command PS, I can see the new child process, and there I see it has the same jobname as the process that did the fork(), but it has a different JobID. So, since it is apparently a different job than the job that did the fork(),

Re: fork(), SDSF

2010-09-23 Thread Etienne Thijsse
On Thu, 23 Sep 2010 12:10:39 -0500, Paul Gilmartin paulgboul...@aim.com wrote: On Thu, 23 Sep 2010 10:55:08 -0500, Etienne Thijsse wrote: Does anybody know why I don't see the second job in SDSF/ST ? Or, I wondered that once, and was fed some alphabet soup; perhaps JOE vs. ???. Thank you

Re: fopen(*,...) = fopen(//*,...)

2010-09-02 Thread Etienne Thijsse
://dovetail. On Wed, Sep 1, 2010 at 10:57 AM, Paul Gilmartin paulgboul...@aim.comwrote: On Wed, 1 Sep 2010 10:16:12 -0500, Etienne Thijsse wrote: I don't have a problem opening SYSOUT datasets, its just that I don't understand what it is that fopen(*..) is actually opening, and I'd like

DD TERM=TS,SYSOUT=*

2010-09-02 Thread Etienne Thijsse
Hi, I have read that I can have a batch job write to the screen by coding TERM=TS on the DD statement, like this: //TERM DD TERM=TS,SYSOUT=* But I am not seeing anything being written on the screen; the output still ends up as an entry in SDSF... Should I do something else to have it

Re: DD TERM=TS,SYSOUT=*

2010-09-02 Thread Etienne Thijsse
joa...@swbell.net wrote: On Thu, 2010-09-02 at 04:01 -0500, Etienne Thijsse wrote: Hi, I have read that I can have a batch job write to the screen by coding TERM=TS on the DD statement, like this: //TERM DD TERM=TS,SYSOUT=* But I am not seeing anything being written on the screen

Re: DD TERM=TS,SYSOUT=*

2010-09-02 Thread Etienne Thijsse
...@bremultibank.com.pl wrote: Etienne Thijsse pisze: Thanks, John, Then I guess my JCL book is wrong; it says Coding TERM=TS on a //SYSOUT DD statement sends the output data set back to the terminal if it was submitted from a terminal. in the section about the SUBMIT TSO statement. I don't want

Re: DD TERM=TS,SYSOUT=*

2010-09-02 Thread Etienne Thijsse
Charles, This book is not an IBM manual, its an old book called System 390 JCL 4th edition from 1998. Thanks, Etienne I am told that manual comments should go to mhvr...@us.ibm.com so that's where I am forwarding this post. Charles

Re: DD TERM=TS,SYSOUT=*

2010-09-02 Thread Etienne Thijsse
Elardus, That sounds suspiciously similar to the quoted text from the JCL book... Maybe the key is that the background job must still run under TSO? Is that possible? Thanks, Etienne On Thu, 2 Sep 2010 09:38:15 -0500, Elardus Engelbrecht elardus.engelbre...@sita.co.za wrote: Etienne Thijsse

Re: DD TERM=TS,SYSOUT=*

2010-09-02 Thread Etienne Thijsse
Actually, upon carefully re-reading this, I now think it is saying what John said... no TERM=TS under batch... Thanks, Etienne On Thu, 2 Sep 2010 09:38:15 -0500, Elardus Engelbrecht elardus.engelbre...@sita.co.za wrote: Etienne Thijsse wrote: Yes, I believe that John is right, as I said

Re: DD TERM=TS,SYSOUT=*

2010-09-02 Thread Etienne Thijsse
, 2 Sep 2010 10:25:25 -0500, Tom Marchant m42tom- ibmm...@yahoo.com wrote: On Thu, 2 Sep 2010 08:28:30 -0500, Etienne Thijsse wrote: Then I guess my JCL book is wrong; it says Coding TERM=TS on a //SYSOUT DD statement sends the output data set back to the terminal if it was submitted from

fopen(*,...)

2010-09-01 Thread Etienne Thijsse
Hi, I tried something I read in the IBM doc (XL C/C++ Programming Guide): z/OS XL C/C++ supports opening SYSOUT data sets in two ways: 1 ... 2 Specifying a data set name of * on a call to fopen() or freopen() while you are running under z/OS batch or IMS online or batch. So, I

Re: fopen(*,...)

2010-09-01 Thread Etienne Thijsse
of fopen(), but I often use BPXWDYN or dynalloc() from C to dynamically allocate a SYSOUT dataset to a DD, and then fopen(//DD:MYDD). Kirk Wolf Dovetailed Technologies http://dovetail.com On Wed, Sep 1, 2010 at 9:54 AM, Etienne Thijsse e.thij...@chello.nl wrote: Hi, I tried something I read

Re: mainframe batch consumer of web service

2010-09-01 Thread Etienne Thijsse
Frank, I am currently working on such a product: Uniface 9. When finished, it will be able to call out to web services, and expose web services to the world. But its not finished yet... Etienne On Wed, 1 Sep 2010 09:12:41 -0600, Frank Swarbrick frank.swarbr...@efirstbank.com wrote: Anyone

Re: fopen mode w+ on PDS member fails, but w succeeds

2010-07-30 Thread Etienne Thijsse
Because you can't append to a member. You can update in place, but I don't believe that C supports that. I have since found out that there is a lot more that members don't support. So what I have now resolved to do is whenever I need to append, or seek, or any of the other unsupported things,

Re: remove() of PDSE member leaves PDS locked

2010-07-29 Thread Etienne Thijsse
It seems the symptoms have led me to draw wrong conclusions. The fact that ISPF reports the PDSE *in use* the moment I stepped over remove() in the debugger led me to believe that remove() was causing the PDSE to be locked and the following fopen() to fail. But some experimentation shows that

Re: remove() of PDSE member leaves PDS locked

2010-07-28 Thread Etienne Thijsse
On Wed, 28 Jul 2010 00:33:10 -0500, Barbara Nitz nitz-...@gmx.net wrote: Can you show the ENQ that you're talking about? Reason I am asking is that I don't believe that you're faced with an ENQ. Rather, you are probably faced with a latch, as that is the way PDSE (and HFS) members and

Re: remove() of PDSE member leaves PDS locked

2010-07-28 Thread Etienne Thijsse
TSO RMFMON SENQ D M goes back to menu. Z exits the utility. Thanks :-) Etienne -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search

Re: remove() of PDSE member leaves PDS locked

2010-07-27 Thread Etienne Thijsse
On Mon, 26 Jul 2010 12:23:10 -0500, Paul Gilmartin paulgboul...@aim.com wrote: On Mon, 26 Jul 2010 11:02:24 -0500, Etienne Thijsse wrote: If I use the C function remove() to remove a member from a PDSE, then from that moment on, the PDSE is locked, ISPF says in use, I can't create a new member

Re: remove() of PDSE member leaves PDS locked

2010-07-27 Thread Etienne Thijsse
On Tue, 27 Jul 2010 19:02:19 +0800, David Crayford dcrayf...@gmail.com wrote: Etienne Thijsse wrote: On Mon, 26 Jul 2010 12:23:10 -0500, Paul Gilmartin paulgboul...@aim.com wrote: On Mon, 26 Jul 2010 11:02:24 -0500, Etienne Thijsse wrote: If I use the C function remove() to remove

Re: remove() of PDSE member leaves PDS locked

2010-07-27 Thread Etienne Thijsse
On Tue, 27 Jul 2010 08:47:30 -0500, Paul Gilmartin paulgboul...@aim.com wrote: On Tue, 27 Jul 2010 19:02:19 +0800, David Crayford wrote: Etienne Thijsse wrote: Thanks for responding, Gil. There is no other stream. When I run under the debugger, the PDSE remains accessible with ISPF right up

Re: remove() of PDSE member leaves PDS locked

2010-07-27 Thread Etienne Thijsse
On Tue, 27 Jul 2010 09:47:15 -0500, Paul Gilmartin paulgboul...@aim.com wrote: On Tue, 27 Jul 2010 09:01:46 -0500, Etienne Thijsse wrote: That may well be true. At this moment however, I know nothing about ISPF services or how to call them from C. I'll keep this in mind as a lost resort

Re: remove() of PDSE member leaves PDS locked

2010-07-27 Thread Etienne Thijsse
On Tue, 27 Jul 2010 10:47:07 -0500, Paul Gilmartin paulgboul...@aim.com wrote: On Tue, 27 Jul 2010 10:15:11 -0500, Etienne Thijsse wrote: Any idea how to get rid of this ENQ SHR ? Have you verified that there's an outstanding ENQ? Use the TSO command FREE DSN(whatever.dsn) or equivalent call

Re: remove() of PDSE member leaves PDS locked

2010-07-27 Thread Etienne Thijsse
On Tue, 27 Jul 2010 11:50:35 -0500, Paul Gilmartin paulgboul...@aim.com wrote: On Tue, 27 Jul 2010 11:35:24 -0500, Etienne Thijsse wrote: There is a SYS00035 DDNAME associated with the PDSE, but freeing it with dynfree gave me error 4 reason 1056, which means the dataset hasn't been closed

Re: remove() of PDSE member leaves PDS locked

2010-07-27 Thread Etienne Thijsse
On Tue, 27 Jul 2010 13:49:30 -0400, Thompson, Steve steve_thomp...@stercomm.com wrote: -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Etienne Thijsse Sent: Tuesday, July 27, 2010 12:09 PM To: IBM-MAIN@bama.ua.edu Subject: Re: remove

remove() of PDSE member leaves PDS locked

2010-07-26 Thread Etienne Thijsse
Hi, If I use the C function remove() to remove a member from a PDSE, then from that moment on, the PDSE is locked, ISPF says in use, I can't create a new member in it using fopen() in the same program. The PDSE only gets unlocked after the program has ended. In the joblog I saw that the PDSE

fopen mode w+ on PDS member fails, but w succeeds

2010-07-20 Thread Etienne Thijsse
Hi, Does anyone have an idea why fopen(//PDS(MEMBER), w+) fails, while fopen (//PDS(MEMBER), w) succeeds? What do I have to do to the PDS to make fopen w+ work? Change its record format, record length? Any idea's? Thanks, Etienne

Re: fopen mode w+ on PDS member fails, but w succeeds

2010-07-20 Thread Etienne Thijsse
Thanks, I didn't know about errno2... -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at

Re: fopen mode w+ on PDS member fails, but w succeeds

2010-07-20 Thread Etienne Thijsse
Yes, that makes sense... Do you think a PDSE will have the same limitation? Thanks, Etienne -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN

Re: BPX1EXM (execmvs) and STEPLIB

2010-02-09 Thread Etienne Thijsse
On Tue, 9 Feb 2010 08:54:12 +0100, Hunkeler Peter (KIUP 4) peter.hunke...@credit-suisse.com wrote: What makes you believe BPX1EXM would be available to non-UNIX users? My guess is, it is not. Why? Well, ... ... it starts with BPX, which denotes it as belonging to the z/OS UNIX component.

Re: BPX1EXM (execmvs) and STEPLIB

2010-02-09 Thread Etienne Thijsse
If an installation has defined the BPX.DEFAULT.USER, which is what you need to do to define the OMVS default profile, then in fact there is no non-UNIX user anymore. All userids will be able to use z/OS UNIX services, either running with the default user's uid/gid or with their own. Great,

BPX1EXM (execmvs) and STEPLIB

2010-02-08 Thread Etienne Thijsse
Hi, I have a problem with the BPX1EXM service, specifically with the STEPLIB it uses for the executed MVS program. My program (an LE program written in C, running under z/OS Unix) first forks a child process, which then immediately calls BPX1EXM (=execmvs) to start an MVS program in a specific

Re: BPX1EXM (execmvs) and STEPLIB

2010-02-08 Thread Etienne Thijsse
On Mon, 8 Feb 2010 06:31:43 -0600, Paul Gilmartin paulgboul...@aim.com wrote: On Mon, 8 Feb 2010 03:43:58 -0600, Etienne Thijsse e.thij...@chello.nl wrote: BUT... if I use setenv() or putenv() or CEEENV() to set the same environment variable to the same value, then BPX1EXM does not seem to pick

Re: BPX1EXM (execmvs) and STEPLIB

2010-02-08 Thread Etienne Thijsse
On Mon, 8 Feb 2010 06:49:19 -0700, Steve Comstock st...@trainersfriend.com wrote: User C programs and LE assembler programs that look like C programs (member=3), would need to handle all the EINTR redrive looping for SA_RESTART, if they invoke kernel services directly. There are also kernel

Re: BPX1EXM (execmvs) and STEPLIB

2010-02-08 Thread Etienne Thijsse
Thanks Peter, This is worth a try; I could have my program generate such an external link on the fly, and exec the program via that link. That does not solve all my problems, though. The idea is that my program also needs to run from a load library, rather than the HFS as it does now, for