Re: argv for z/OS C++ batch

2010-01-04 Thread Thomas David Rivers
To: IBM-MAIN@bama.ua.edu Subject: Re: argv for z/OS C++ batch Charles, The other option you have is to look at METAL C or system C. Or a third party compiler. Regards, Sam On Sat, Dec 26, 2009 at 9:14 PM, Charles Mills charl...@mcn.org wrote: Trying to figure out this subject. The C/C

Re: argv for z/OS C++ batch

2009-12-31 Thread Kirk Wolf
Paul, How would this help anyone? What benefits would it have over BPXBATCH (or COZBATCH) ? Kirk Wolf Dovetailed Technologies http://dovetail.com/products/cozbatch.html On Wed, Dec 30, 2009 at 10:27 PM, Paul Gilmartin paulgboul...@aim.com wrote: On Wed, 30 Dec 2009 20:09:13 -0600, John

Re: argv for z/OS C++ batch

2009-12-31 Thread Paul Gilmartin
On Thu, 31 Dec 2009 09:25:05 -0600, Kirk Wolf wrote: How would this help anyone? What benefits would it have over BPXBATCH (or COZBATCH) ? You're quite familiar with the problems: o BPXBATCH: DD statements tend to evaporate. o COZBATCH: The price is prohibitive to many sites. (I suppose

Re: argv for z/OS C++ batch

2009-12-31 Thread Kirk Wolf
Paul, Just checking; I thought there was something in this question that wasn't obvious. It seems more likely that IBM would fix or replace BPXBATCH than to change JCL and how EXEC PGM works. (FWIW, COZBATCH is 1 KLOC). Besides - what you want in most cases for Unix binaries is to run the

Re: argv for z/OS C++ batch

2009-12-31 Thread Paul Gilmartin
On Thu, 31 Dec 2009 16:43:19 -0600, Kirk Wolf wrote: It seems more likely that IBM would fix or replace BPXBATCH than to change JCL and how EXEC PGM works. And I thought it unlikely that IBM would fix STDOUT and STDERR, but they did that, but left STDIN broken. (FWIW, COZBATCH is 1 KLOC).

Re: argv for z/OS C++ batch

2009-12-30 Thread Shmuel Metz (Seymour J.)
In 4b368dfb.6070...@trainersfriend.com, on 12/26/2009 at 03:28 PM, Steve Comstock st...@trainersfriend.com said: Actually, the linkage you describe is only 'standard' for a subroutine. Part of the design of OS/360 is that a main program is just another subroutine, except that it must accept

Re: argv for z/OS C++ batch

2009-12-30 Thread Shmuel Metz (Seymour J.)
In 4e2421a40912270056n1de91c8ct5847418ed6a50...@mail.gmail.com, on 12/27/2009 at 08:56 AM, Sam Siegel s...@pscsi.net said: A C/C++ program will recieve parms as passed (subject to the PLIST(OS|HOST) setting) and will not change the case of the passed parameters. What about argv[0]? The OP

Re: argv for z/OS C++ batch

2009-12-30 Thread John McKown
On Wed, 2009-12-30 at 16:19 -0500, Shmuel Metz (Seymour J.) wrote: In 4e2421a40912270056n1de91c8ct5847418ed6a50...@mail.gmail.com, on 12/27/2009 at 08:56 AM, Sam Siegel s...@pscsi.net said: A C/C++ program will recieve parms as passed (subject to the PLIST(OS|HOST) setting) and will not

Re: argv for z/OS C++ batch

2009-12-30 Thread Paul Gilmartin
On Wed, 30 Dec 2009 16:19:25 -0500, Shmuel Metz (Seymour J.) wrote: In 4e2421a40912270056n1de91c8ct5847418ed6a50...@mail.gmail.com, on 12/27/2009 at 08:56 AM, Sam Siegel said: A C/C++ program will recieve parms as passed (subject to the PLIST(OS|HOST) setting) and will not change the case of

Re: argv for z/OS C++ batch

2009-12-30 Thread Paul Gilmartin
On Wed, 30 Dec 2009 20:09:13 -0600, John McKown wrote: I think that in this case, batch means invoked via a JCL EXEC PGM=. I hope it doesn't mean when invoked via BPXBATCH as a UNIX process. But, then, you can't do a //STEPNAME EXEC PGM=lcpgm //STEPLIB DD PATH='/path/to/my/bin/directory' // Is

Re: argv for z/OS C++ batch

2009-12-29 Thread David Waldman
Charles, From the 'Language Environment Programming Guide', PLIST indicates in what form the invoked routine should expect the argument list. You can specify PLIST with the following values under Language Environment: HOST The argument list is assumed to be a character string. The string is

Re: argv for z/OS C++ batch

2009-12-29 Thread Charles Mills
Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of David Waldman Sent: Tuesday, December 29, 2009 10:13 AM To: IBM-MAIN@bama.ua.edu Subject: Re: argv for z/OS C++ batch Charles, From the 'Language Environment Programming Guide', PLIST indicates in what form

Re: argv for z/OS C++ batch

2009-12-29 Thread Paul Gilmartin
On Sun, 27 Dec 2009 10:01:32 -0500, Charles Mills wrote: - Yes, I'm clear on the difference between the restrictions imposed by PARM= (one parm, 100 chars), TSO (a tendency to convert to U/C, and yes, I agree with gil, over-compensating by converting to l/c when ASIS is specified is just brain

Re: argv for z/OS C++ batch

2009-12-28 Thread David Waldman
Charles, Try specifying the length as the 1st parm. ATTACH EP=CPGM,ECB=STECB,PARAM=(PPARM) PPARMDCH'17',C'PARM1,PARM2,PARM3' Your results should be: 2 /* argc */ CPGM /* argv0 */ PARM1,PARM2,PARM3/* argv1 */ hth, Dave Waldman

Re: argv for z/OS C++ batch

2009-12-27 Thread Sam Siegel
Were splitting hairs here. The original question related specifically to batch processing. (I took this to mean JCL/Converter/Interpreter.) The information from the link is related to tso and the tso call facility. There is no ASIS facility within a C/C++ program. A C/C++ program will recieve

Re: argv for z/OS C++ batch

2009-12-27 Thread Charles Mills
So many answers! Thank you all. Let's see: - Yes, I'm clear on the difference between the restrictions imposed by PARM= (one parm, 100 chars), TSO (a tendency to convert to U/C, and yes, I agree with gil, over-compensating by converting to l/c when ASIS is specified is just brain dead), ISPF (a

Re: argv for z/OS C++ batch

2009-12-27 Thread Paul Gilmartin
On Sun, 27 Dec 2009 08:56:34 +, Sam Siegel wrote: Were splitting hairs here. The original question related specifically to batch processing. (I took this to mean JCL/Converter/Interpreter.) The information from the link is related to tso and the tso call facility. There is no ASIS facility

Re: argv for z/OS C++ batch

2009-12-26 Thread Sam Siegel
Hi Charles, I'm assuming that if you are going to call via link or attach that you will have an assembler main program that does not have a valid LE environment established. That is to say a traditional assembler program. If this is the case, you should refer to the CEEPIPI documentation

Re: argv for z/OS C++ batch

2009-12-26 Thread Sam Siegel
Charles, The other option you have is to look at METAL C or system C. Or a third party compiler. Regards, Sam On Sat, Dec 26, 2009 at 9:14 PM, Charles Mills charl...@mcn.org wrote: Trying to figure out this subject. The C/C++ Language Reference on p. 207 says Under z/OS batch . argv[0]

Re: argv for z/OS C++ batch

2009-12-26 Thread Steve Comstock
Charles Mills wrote: Trying to figure out this subject. The C/C++ Language Reference on p. 207 says Under z/OS batch . argv[0] Returns the program name in uppercase argv[1 to n] Returns the arguments as you enter them. Not the most useful documentation - I don't think as you enter them is

Re: argv for z/OS C++ batch

2009-12-26 Thread Charles Mills
-Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Sam Siegel Sent: Saturday, December 26, 2009 4:55 PM To: IBM-MAIN@bama.ua.edu Subject: Re: argv for z/OS C++ batch Charles, The other option you have is to look at METAL C or system C. Or a third

Re: argv for z/OS C++ batch

2009-12-26 Thread Steve Comstock
Charles Mills wrote: Sam - Thanks and thanks. I'm trying to write a C++ program that will allow standard z/OS utility linkage. It wants to look as much as possible like other programs that expect a parm 1 and a parm 2 passed via R1 - words 0 and 1. I can do whatever I want on the C++ side but

Re: argv for z/OS C++ batch

2009-12-26 Thread Sam Siegel
, December 26, 2009 4:55 PM To: IBM-MAIN@bama.ua.edu Subject: Re: argv for z/OS C++ batch Charles, The other option you have is to look at METAL C or system C. Or a third party compiler. Regards, Sam On Sat, Dec 26, 2009 at 9:14 PM, Charles Mills charl...@mcn.org wrote: Trying to figure

Re: argv for z/OS C++ batch

2009-12-26 Thread Paul Gilmartin
On Sat, 26 Dec 2009 15:28:11 -0700, Steve Comstock wrote: Actually, the linkage you describe is only 'standard' for a subroutine. Standard linkage for a main program is to be passed a single parm, the address of a half-word prefixed string, pointed at by R1. A main program cannot accept multiple

Re: argv for z/OS C++ batch

2009-12-26 Thread Paul Gilmartin
On Sat, 26 Dec 2009 21:45:46 +, Sam Siegel wrote: The comment argv[1 to n] is trying to say that the characters in parms 1 ... N are not modified by converter/interpreter processing when JCL is submitted. If you turn CAPS OFF, you can pass mixed case characters as parm and they will be

Re: argv for z/OS C++ batch

2009-12-26 Thread Charles Mills
To: IBM-MAIN@bama.ua.edu Subject: Re: argv for z/OS C++ batch Charles Mills wrote: Sam - Thanks and thanks. I'm trying to write a C++ program that will allow standard z/OS utility linkage. It wants to look as much as possible like other programs that expect a parm 1 and a parm 2 passed via

Re: argv for z/OS C++ batch

2009-12-26 Thread Steve Comstock
, not the invoked program. -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Steve Comstock Sent: Saturday, December 26, 2009 5:28 PM To: IBM-MAIN@bama.ua.edu Subject: Re: argv for z/OS C++ batch Charles Mills wrote: Sam - Thanks and thanks. I'm

Re: argv for z/OS C++ batch

2009-12-26 Thread Sam Siegel
For caps on/caps off, I was referring to ISPF edit. On Sun, Dec 27, 2009 at 12:18 AM, Paul Gilmartin paulgboul...@aim.comwrote: On Sat, 26 Dec 2009 21:45:46 +, Sam Siegel wrote: The comment argv[1 to n] is trying to say that the characters in parms 1 ... N are not modified by

Re: argv for z/OS C++ batch

2009-12-26 Thread Paul Gilmartin
On Sun, 27 Dec 2009 04:57:25 +, Sam Siegel wrote: For caps on/caps off, I was referring to ISPF edit. That has very little to do with how JCL passes parms, nor how C/C++ receives them, nor with any other editor the user chooses because it has less restrictive conventions. More relevant, and