¿ªÔÆÌåÓý

ZIP & UNZIP for VM/370 CE?


 

I was looking to see if any of the zip programs were installed in the latest CE. I found the following:

XLIST: *ZIP* * *????????????????????????????????????? Lines 1-2/2? XLIST V1.2.5
? Filename Filetype Fm? Format??? Recs Blocks? Date?????? Time?? Label
? MINIZIP? MODULE?? Y2? V 65535????? 4??? 121? 2009-06-06 23:35? MNT19E
? MVSUNZIP MODULE?? Y2? V 58288????? 3???? 78? 2018-03-22 10:11? MNT19E

but am unable to find external documentation. They do have some internal help.

mvsunzip
usage: mvsunzip <infile> [disk] [BINARY]
where infile is a sequential file
e.g. mvsunzip dd:input
Ready(00012); T=0.01/0.01 21:16:09

minizip
MiniZip 0.15 MVS 3.0, demo of zLib + Zip package written by Gilles Vollant
more info at http://www.winimage.com/zLibDll/minizip.html
Modified for MVS, see http://gccmvs.sourceforge.net
?
Usage : minizip -abco zipfile files_to_add
-a opens files_to_add in text-translated mode and converts EBCDIC to ASCII.
-b zips files without length indicators (use with V,VB or U datasets only.)
-c chooses the alternate code-page 037 instead of the default 1047.
-o specifies that all files_to_add are Partition Organised datasets and
that all members/alias's in each dataset should be zipped.
-l to lowercase names
-x <extension> to add an extension to all filenames
SYSUT1 and zipfile need to be allocated as F/FB with any LRECL and BLKSIZE.
?
Ready; T=0.01/0.02 21:16:29

It seems minizip is to add files to an (New?) existing zip file. Seems I need a FIELDEF for SYSUT1 for workspace. Size unknown.
For mvsunzip. I'm assuming I needs a FILEDEF. I will check this after I get a zip file on my system.

Anyone remember seeing zip/unzip programs for CMS anywhere else?

?... Mark S.


 

Hello!
For a while the gang behind Zip and Unzip (Not PK Software) released
examples of the two, who are the same on Linux and BSD, and yes the
same command line tools that are available for Win32 sets. But, ah,
they stopped releasing them for VM as well as MVS claiming no
interest. I believe I have the latest demo disk (it is a few years
old) of the PK product. They came up with Pkzip and Pkunzip years
earlier for the DOS ones we used first.

But will this make sense to the individuals in a PA museum who read
the email for its addressee?
-----
Gregg C Levine gregg.drwho8@...
"This signature fought the Time Wars, time and again."

On Mon, Nov 8, 2021 at 4:52 PM Mark A. Stevens via groups.io
<marXtevens@...> wrote:

I was looking to see if any of the zip programs were installed in the latest CE. I found the following:

XLIST: *ZIP* * * Lines 1-2/2 XLIST V1.2.5
Filename Filetype Fm Format Recs Blocks Date Time Label
MINIZIP MODULE Y2 V 65535 4 121 2009-06-06 23:35 MNT19E
MVSUNZIP MODULE Y2 V 58288 3 78 2018-03-22 10:11 MNT19E

but am unable to find external documentation. They do have some internal help.

mvsunzip
usage: mvsunzip <infile> [disk] [BINARY]
where infile is a sequential file
e.g. mvsunzip dd:input
Ready(00012); T=0.01/0.01 21:16:09

minizip
MiniZip 0.15 MVS 3.0, demo of zLib + Zip package written by Gilles Vollant
more info at
Modified for MVS, see

Usage : minizip -abco zipfile files_to_add
-a opens files_to_add in text-translated mode and converts EBCDIC to ASCII.
-b zips files without length indicators (use with V,VB or U datasets only.)
-c chooses the alternate code-page 037 instead of the default 1047.
-o specifies that all files_to_add are Partition Organised datasets and
that all members/alias's in each dataset should be zipped.
-l to lowercase names
-x <extension> to add an extension to all filenames
SYSUT1 and zipfile need to be allocated as F/FB with any LRECL and BLKSIZE.

Ready; T=0.01/0.02 21:16:29

It seems minizip is to add files to an (New?) existing zip file. Seems I need a FIELDEF for SYSUT1 for workspace. Size unknown.
For mvsunzip. I'm assuming I needs a FILEDEF. I will check this after I get a zip file on my system.

Anyone remember seeing zip/unzip programs for CMS anywhere else?

... Mark S.
And towards the end of the morning session in Court the Doctor took
down copious notes, it seems that the Prosecution kept shooting itself
in the foot with nearly all of the witnesses.
From the Doctor meets Perry Mason a not yet fully written nor no plans
to release memoir.


 

¿ªÔÆÌåÓý

Mark

These came from the GCC & S/380 projects.

?

?

there is some docs in there.

Dave

?

?

?

From: [email protected] <[email protected]> On Behalf Of Mark A. Stevens via groups.io
Sent: 08 November 2021 21:26
To: [email protected]
Subject: [h390-vm] ZIP & UNZIP for VM/370 CE?

?

I was looking to see if any of the zip programs were installed in the latest CE. I found the following:

XLIST: *ZIP* * *????????????????????????????????????? Lines 1-2/2? XLIST V1.2.5
? Filename Filetype Fm? Format??? Recs Blocks? Date?????? Time?? Label
? MINIZIP? MODULE?? Y2? V 65535????? 4??? 121? 2009-06-06 23:35? MNT19E
? MVSUNZIP MODULE?? Y2? V 58288????? 3???? 78? 2018-03-22 10:11? MNT19E

but am unable to find external documentation. They do have some internal help.

mvsunzip
usage: mvsunzip <infile> [disk] [BINARY]
where infile is a sequential file
e.g. mvsunzip dd:input
Ready(00012); T=0.01/0.01 21:16:09

minizip
MiniZip 0.15 MVS 3.0, demo of zLib + Zip package written by Gilles Vollant
more info at
Modified for MVS, see
?
Usage : minizip -abco zipfile files_to_add
-a opens files_to_add in text-translated mode and converts EBCDIC to ASCII.
-b zips files without length indicators (use with V,VB or U datasets only.)
-c chooses the alternate code-page 037 instead of the default 1047.
-o specifies that all files_to_add are Partition Organised datasets and
that all members/alias's in each dataset should be zipped.
-l to lowercase names
-x <extension> to add an extension to all filenames
SYSUT1 and zipfile need to be allocated as F/FB with any LRECL and BLKSIZE.
?
Ready; T=0.01/0.02 21:16:29

It seems minizip is to add files to an (New?) existing zip file. Seems I need a FIELDEF for SYSUT1 for workspace. Size unknown.
For mvsunzip. I'm assuming I needs a FILEDEF. I will check this after I get a zip file on my system.

Anyone remember seeing zip/unzip programs for CMS anywhere else?

?... Mark S.


 

It originated from MVS380.

/ZIPTOPDS JOB CLASS=C,REGION=0K,TIME=1440
//*
//UNZIP??? PROC MINPREF='MINIZIP',
//???????? TODSN='',ASCII=''
//*
//MINI???? EXEC PGM=MINIUNZ,
//??? PARM='&ASCII dd:input dd:output'
//STEPLIB? DD DSN=&MINPREF..LINKLIB,DISP=SHR
//INPUT??? DD DSN=HERC02.IN,DISP=(OLD,KEEP,KEEP),UNIT=TAPE,
//???????? LABEL=(1,NL),VOL=SER=PCTOMF,
//???????? DCB=(RECFM=U,LRECL=0,BLKSIZE=32760)
//OUTPUT?? DD DSN=&TODSN,DISP=SHR
//SYSIN??? DD DUMMY
//SYSPRINT DD SYSOUT=*,DCB=(RECFM=F,LRECL=132,BLKSIZE=132)
//SYSTERM? DD SYSOUT=*,DCB=(RECFM=F,LRECL=132,BLKSIZE=132)
//*
//???????? PEND
//*
//S1 EXEC UNZIP,TODSN='XXXXXXXX',
//?? ASCII='YYYYYYYY'
//



regards;

Rahim



??



On Monday, November 8, 2021, 3:39:00 PM CST, Mark A. Stevens via groups.io <marxtevens@...> wrote:


I was looking to see if any of the zip programs were installed in the latest CE. I found the following:

XLIST: *ZIP* * *????????????????????????????????????? Lines 1-2/2? XLIST V1.2.5
? Filename Filetype Fm? Format??? Recs Blocks? Date?????? Time?? Label
? MINIZIP? MODULE?? Y2? V 65535????? 4??? 121? 2009-06-06 23:35? MNT19E
? MVSUNZIP MODULE?? Y2? V 58288????? 3???? 78? 2018-03-22 10:11? MNT19E

but am unable to find external documentation. They do have some internal help.

mvsunzip
usage: mvsunzip <infile> [disk] [BINARY]
where infile is a sequential file
e.g. mvsunzip dd:input
Ready(00012); T=0.01/0.01 21:16:09

minizip
MiniZip 0.15 MVS 3.0, demo of zLib + Zip package written by Gilles Vollant
more info at http://www.winimage.com/zLibDll/minizip.html
Modified for MVS, see http://gccmvs.sourceforge.net
?
Usage : minizip -abco zipfile files_to_add
-a opens files_to_add in text-translated mode and converts EBCDIC to ASCII.
-b zips files without length indicators (use with V,VB or U datasets only.)
-c chooses the alternate code-page 037 instead of the default 1047.
-o specifies that all files_to_add are Partition Organised datasets and
that all members/alias's in each dataset should be zipped.
-l to lowercase names
-x <extension> to add an extension to all filenames
SYSUT1 and zipfile need to be allocated as F/FB with any LRECL and BLKSIZE.
?
Ready; T=0.01/0.02 21:16:29

It seems minizip is to add files to an (New?) existing zip file. Seems I need a FIELDEF for SYSUT1 for workspace. Size unknown.
For mvsunzip. I'm assuming I needs a FILEDEF. I will check this after I get a zip file on my system.

Anyone remember seeing zip/unzip programs for CMS anywhere else?

?... Mark S.


 

Gregg,

Thanks for the pointers. I have found and downloaded the zip source, and will see what I can manage to do with it ... besides waste my time. ;-)

?... Mark S.


 

I have finally managed to get the ZIP and UNZIP source code uploaded onto minidisks.

I read through the GCC HELPCMD and HELPCMD2, as well as the GCCLIB HELPCMD and HELPCMD2 and attempted to compile the first of many parts of ZIP

q disk
Label? CUU M? Stat? Cyl Type Blksize?? Files? Blks Used-(%) Blks Left? Blk Total
ZIP191 391 A?? R/W?? 30 3350? 800???????? 13??????? 105-01????? 16995????? 17100
MNT5E5 5E5 B/B R/O?? 30 3350? 800???????? 11??????? 119-01????? 16981????? 17100
ZIP??? 392 D/A R/O?? 30 3350? 800???????? 43?????? 4704-28????? 12396????? 17100
UNZIP? 393 E/A R/O?? 30 3350? 800???????? 47?????? 3894-23????? 13206????? 17100
MYTOOL 193 R/R R/O?? 30 3350? 800??????? 185?????? 1217-07????? 15883????? 17100
CMSDSK 190 S?? R/O?? 59 3350? 800??????? 172????? 19533-58????? 14097????? 33630
VMTOOL 196 T/S R/O?? 70 3350? 800???????? 29?????? 1860-05????? 38040????? 39900
MNT19D 19D U/S R/O?? 70 3350? 800??????? 397?????? 5296-13????? 34604????? 39900
MNT19E 19E Y/S R/O?? 70 3350? 800??????? 682????? 24651-62????? 15249????? 39900
Ready; T=0.01/0.01 01:50:18
filedef
OUT????? DISK???? ZIP????? TEXT???? A1
Ready; T=0.01/0.01 01:50:20
type zip parm a
?
LONGNAME RENT LANGLVL(EXTENDED) NOEXECOPS DEFINE(VM_CMS,REENTRANT) -O DD:OUT
?
Ready; T=0.01/0.01 01:50:25
gcc zip c d ( asm cms csect keep parm zip
Disk 'D' is read/only.
CP: must use -S option on MVS (ie produce assembler output)
Return code 12 from GCC of ZIP
Ready(00012); T=0.05/0.17 01:50:54

I looked at the GCC EXEC and it picks up the &FM as D, but I didn't want the aseembler code, nor the text deck written there, but to A. Seems it doesn't like that. So what am I doing wrong here?

I set up a ZIP PARM file, and put the parms from the original source there, but have a few questions about its 'structure.'
1. Is it RECFM F, LRECL 80, or something else?
2. Is it case sensitive?
3. Does it support multiple lines? With a continuation character?

Finally, I'm not sure why GCC is telling me about MVS, when I told it CMS?

Thanks for any help and/or pointers.

?... Mark S.


 

Youre?not doing anything wrong. Because of the bastard way that Paul Edwards implemented GCC on VM, you MUST produce the assembler deck and then assemble it to compile your code.

Joe

On Thu, Nov 11, 2021 at 8:01 PM Mark A. Stevens via <marXtevens=[email protected]> wrote:
I have finally managed to get the ZIP and UNZIP source code uploaded onto minidisks.

I read through the GCC HELPCMD and HELPCMD2, as well as the GCCLIB HELPCMD and HELPCMD2 and attempted to compile the first of many parts of ZIP

q disk
Label? CUU M? Stat? Cyl Type Blksize?? Files? Blks Used-(%) Blks Left? Blk Total
ZIP191 391 A?? R/W?? 30 3350? 800???????? 13??????? 105-01????? 16995????? 17100
MNT5E5 5E5 B/B R/O?? 30 3350? 800???????? 11??????? 119-01????? 16981????? 17100
ZIP??? 392 D/A R/O?? 30 3350? 800???????? 43?????? 4704-28????? 12396????? 17100
UNZIP? 393 E/A R/O?? 30 3350? 800???????? 47?????? 3894-23????? 13206????? 17100
MYTOOL 193 R/R R/O?? 30 3350? 800??????? 185?????? 1217-07????? 15883????? 17100
CMSDSK 190 S?? R/O?? 59 3350? 800??????? 172????? 19533-58????? 14097????? 33630
VMTOOL 196 T/S R/O?? 70 3350? 800???????? 29?????? 1860-05????? 38040????? 39900
MNT19D 19D U/S R/O?? 70 3350? 800??????? 397?????? 5296-13????? 34604????? 39900
MNT19E 19E Y/S R/O?? 70 3350? 800??????? 682????? 24651-62????? 15249????? 39900
Ready; T=0.01/0.01 01:50:18
filedef
OUT????? DISK???? ZIP????? TEXT???? A1
Ready; T=0.01/0.01 01:50:20
type zip parm a
?
LONGNAME RENT LANGLVL(EXTENDED) NOEXECOPS DEFINE(VM_CMS,REENTRANT) -O DD:OUT
?
Ready; T=0.01/0.01 01:50:25
gcc zip c d ( asm cms csect keep parm zip
Disk 'D' is read/only.
CP: must use -S option on MVS (ie produce assembler output)
Return code 12 from GCC of ZIP
Ready(00012); T=0.05/0.17 01:50:54

I looked at the GCC EXEC and it picks up the &FM as D, but I didn't want the aseembler code, nor the text deck written there, but to A. Seems it doesn't like that. So what am I doing wrong here?

I set up a ZIP PARM file, and put the parms from the original source there, but have a few questions about its 'structure.'
1. Is it RECFM F, LRECL 80, or something else?
2. Is it case sensitive?
3. Does it support multiple lines? With a continuation character?

Finally, I'm not sure why GCC is telling me about MVS, when I told it CMS?

Thanks for any help and/or pointers.

?... Mark S.


 

¿ªÔÆÌåÓý

Joe,

Well Paul didn¡¯t have much choice, because of the same holes Mark is going to fall into now! ?If you feel you can do better fix it!

?

Mark,

GCC does not understand the same options as the IBM C compiler. When I started, I attempted to make the LANGUAGE as compatible as possible, but the COMPILER is GCC and only understand GCC options.

Its also a pretty old version of ¡°C¡± and the library does not implement many of the functions modern code expects.

So ¡°LONGNAME¡± won¡¯t work. GCC uses the Assembler XF and the CMS loader, so you are not going to get long name support.

You won¡¯t get an extended language level its C90 or nothing¡­

?

Dave

?

?

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 12 November 2021 11:11
To: [email protected]
Subject: Re: [h390-vm] ZIP & UNZIP for VM/370 CE?

?

Youre?not doing anything wrong. Because of the bastard way that Paul Edwards implemented GCC on VM, you MUST produce the assembler deck and then assemble it to compile your code.

?

Joe

?

On Thu, Nov 11, 2021 at 8:01 PM Mark A. Stevens via <marXtevens=[email protected]> wrote:

I have finally managed to get the ZIP and UNZIP source code uploaded onto minidisks.

I read through the GCC HELPCMD and HELPCMD2, as well as the GCCLIB HELPCMD and HELPCMD2 and attempted to compile the first of many parts of ZIP

q disk
Label? CUU M? Stat? Cyl Type Blksize?? Files? Blks Used-(%) Blks Left? Blk Total
ZIP191 391 A?? R/W?? 30 3350? 800???????? 13??????? 105-01????? 16995????? 17100
MNT5E5 5E5 B/B R/O?? 30 3350? 800???????? 11??????? 119-01????? 16981????? 17100
ZIP??? 392 D/A R/O?? 30 3350? 800???????? 43?????? 4704-28????? 12396????? 17100
UNZIP? 393 E/A R/O?? 30 3350? 800???????? 47?????? 3894-23????? 13206????? 17100
MYTOOL 193 R/R R/O?? 30 3350? 800??????? 185?????? 1217-07????? 15883????? 17100
CMSDSK 190 S?? R/O?? 59 3350? 800??????? 172????? 19533-58????? 14097????? 33630
VMTOOL 196 T/S R/O?? 70 3350? 800???????? 29?????? 1860-05????? 38040????? 39900
MNT19D 19D U/S R/O?? 70 3350? 800??????? 397?????? 5296-13????? 34604????? 39900
MNT19E 19E Y/S R/O?? 70 3350? 800??????? 682????? 24651-62????? 15249????? 39900
Ready; T=0.01/0.01 01:50:18
filedef
OUT????? DISK???? ZIP????? TEXT???? A1
Ready; T=0.01/0.01 01:50:20
type zip parm a
?
LONGNAME RENT LANGLVL(EXTENDED) NOEXECOPS DEFINE(VM_CMS,REENTRANT) -O DD:OUT
?
Ready; T=0.01/0.01 01:50:25
gcc zip c d ( asm cms csect keep parm zip
Disk 'D' is read/only.
CP: must use -S option on MVS (ie produce assembler output)
Return code 12 from GCC of ZIP
Ready(00012); T=0.05/0.17 01:50:54

I looked at the GCC EXEC and it picks up the &FM as D, but I didn't want the aseembler code, nor the text deck written there, but to A. Seems it doesn't like that. So what am I doing wrong here?

I set up a ZIP PARM file, and put the parms from the original source there, but have a few questions about its 'structure.'
1. Is it RECFM F, LRECL 80, or something else?
2. Is it case sensitive?
3. Does it support multiple lines? With a continuation character?

Finally, I'm not sure why GCC is telling me about MVS, when I told it CMS?

Thanks for any help and/or pointers.

?... Mark S.


 

Understood. Fitting the glass slipper onto one of the ugly stepsisters :-D

Given that, I removed all the parameters, and after getting rid of some character mis-translations due to code pages ...
?
FILE 1???? 27? #if defined(WINDLL) || defined(API)
FILE 2???? 27? #if defined(WINDLL) ?? defined(API)
?
FILE 1??? 171? #if defined(ZIPLIB) || defined(COM_OBJECT)
FILE 2??? 171? #if defined(ZIPLIB) ?? defined(COM_OBJECT)
?
FILE 1??? 182? #endif /* WINDLL? || API? */
FILE 2??? 182? #endif /* WINDLL? ?? API? */

I am looking at the following errors.
I accessed all the GCCCMS minidisks looking for unistd.h (UNISTD H) & fcntl.h (FCNTL H)

gcc zip c a
OPEN ERROR CODE '04' ON 'PDP001HD'.
In file included from zip.h:88,
???????????????? from <stdin>:16:
tailor.h:230:59: unistd.h: An error has occurred
?
OPEN ERROR CODE '04' ON 'PDP001HD'.
tailor.h:234:21: fcntl.h: An error has occurred
?
In file included from zip.h:88,
???????????????? from <stdin>:16:
tailor.h:374: syntax error before "time_t"
tailor.h:374: warning: no semicolon at end of struct or union
tailor.h:375: warning: data definition has no type or storage class
tailor.h:376: warning: data definition has no type or storage class
In file included from <stdin>:16:

And from the help for GCCLIB I see the following.

Limitations
-----------
?
GCCLIB does not yet implement the complete C runtime library.? The following
routines are not yet implemented:
?? snprintf()??????? stdio.h

Therefore, is it 'safe' to assume unistd.h (UNISTD H) & fcntl.h (FCNTL H) are also missing in action?

q disk
Label? CUU M? Stat? Cyl Type Blksize?? Files? Blks Used-(%) Blks Left? Blk Total
MNT191 191 A?? R/W?? 30 3350? 800???????? 31??????? 462-03????? 16638????? 17100
MNT5E5 5E5 B/B R/O?? 30 3350? 800???????? 11??????? 119-01????? 16981????? 17100
GCC191 200 C?? R/O? 100 3350? 800????????? 7??????? 669-01????? 56331????? 57000
PDPCLB 201 D?? R/O?? 10 3350? 800???????? 17???????? 95-02?????? 5605?????? 5700
GCCLIB 202 E?? R/O?? 10 3350? 800???????? 23??????? 355-06?????? 5345?????? 5700
GCC291 203 F?? R/O? 115 3350? 800???????? 32????? 12303-19????? 53228????? 65531
GCC391 204 G?? R/O? 115 3350? 800????????? 0????????? 5-00????? 65526????? 65531
GCC491 205 H?? R/O? 115 3350? 800????????? 0????????? 5-00????? 65526????? 65531
GCC591 206 I?? R/O?? 34 3350? 800???????? 84????? 13730-71?????? 5650????? 19380
GCC691 207 J?? R/O?? 45 3350? 800??????? 537????? 19340-75?????? 6310????? 25650
GCC791 208 K?? R/O?? 64 3350? 800??????? 184????? 23041-63????? 13439????? 36480
GCC891 209 L?? R/O?? 40 3350? 800??????? 120?????? 3607-16????? 19193????? 22800
CMSDSK 190 S?? R/O?? 59 3350? 800??????? 172????? 19533-58????? 14097????? 33630
MNT19D 19D U/S R/O?? 70 3350? 800??????? 397?????? 5296-13????? 34604????? 39900
MNT19E 19E Y/S R/O?? 70 3350? 800??????? 682????? 24651-62????? 15249????? 39900
Ready; T=0.01/0.01 01:02:33
l unistd h * ( date
File not found.
Ready(00028); T=0.01/0.01 01:02:47
l fcntl h * ( date
File not found.
Ready(00028); T=0.01/0.01 01:03:29

?... Mark S.


 

I went back to the zip/unzip source code on my Linux system, and searched for those and came up dry.

I have the gcc compiler and related files also installed, searching those, yielded no happy results.

Still ... anyone with ideas, please speak up.

?... Mark S.


 

On Fri, Nov 12, 2021 at 07:13 PM, Mark A. Stevens wrote:
I have the gcc compiler and related files also installed, searching those, yielded no happy results.
Found 'em! Yeesh. Now to figure out what to do with them.

?... Mark S.

"News as it happens. Film at 11."


 

Hi

I may be wrong, but the character '?' and the character '|' are not the same as far as C is concerned.

It loos like you have instances of both in your listing.

All the bets

Marco


 

¿ªÔÆÌåÓý

Mark,

?

Neither fcntl.h nor unistd.h are not part of the C90/ANSI C standard which is what GCCCMS implements and so don¡¯t exist.

I believe that fcntl.h is part of the POSIX standard and unistd.h is a ¡°unixism¡± so doesn¡¯t exist on many platforms.

I believe Stdio.h is missing some routines which are not easy to implement on a record orientated file store¡­

?

Dave

?

?

From: [email protected] <[email protected]> On Behalf Of Mark A. Stevens via groups.io
Sent: 13 November 2021 01:06
To: [email protected]
Subject: Re: [h390-vm] ZIP & UNZIP for VM/370 CE?

?

Understood. Fitting the glass slipper onto one of the ugly stepsisters :-D

Given that, I removed all the parameters, and after getting rid of some character mis-translations due to code pages ...
?
FILE 1???? 27? #if defined(WINDLL) || defined(API)
FILE 2???? 27? #if defined(WINDLL) ?? defined(API)
?
FILE 1??? 171? #if defined(ZIPLIB) || defined(COM_OBJECT)
FILE 2??? 171? #if defined(ZIPLIB) ?? defined(COM_OBJECT)
?
FILE 1??? 182? #endif /* WINDLL? || API? */
FILE 2??? 182? #endif /* WINDLL? ?? API? */

I am looking at the following errors. I accessed all the GCCCMS minidisks looking for
unistd.h (UNISTD H) & fcntl.h (FCNTL H)

gcc zip c a
OPEN ERROR CODE '04' ON 'PDP001HD'.
In file included from zip.h:88,
???????????????? from <stdin>:16:
tailor.h:230:59: unistd.h: An error has occurred
?
OPEN ERROR CODE '04' ON 'PDP001HD'.
tailor.h:234:21: fcntl.h: An error has occurred
?
In file included from zip.h:88,
???????????????? from <stdin>:16:
tailor.h:374: syntax error before "time_t"
tailor.h:374: warning: no semicolon at end of struct or union
tailor.h:375: warning: data definition has no type or storage class
tailor.h:376: warning: data definition has no type or storage class
In file included from <stdin>:16:

And from the help for GCCLIB I see the following.

Limitations
-----------
?
GCCLIB does not yet implement the complete C runtime library.? The following
routines are not yet implemented:
?? snprintf()??????? stdio.h

Therefore, is it 'safe' to assume unistd.h (UNISTD H) & fcntl.h (FCNTL H) are also missing in action?

q disk
Label? CUU M? Stat? Cyl Type Blksize?? Files? Blks Used-(%) Blks Left? Blk Total
MNT191 191 A?? R/W?? 30 3350? 800???????? 31??????? 462-03????? 16638????? 17100
MNT5E5 5E5 B/B R/O?? 30 3350? 800???????? 11??????? 119-01????? 16981????? 17100
GCC191 200 C?? R/O? 100 3350? 800????????? 7??????? 669-01????? 56331????? 57000
PDPCLB 201 D?? R/O?? 10 3350? 800???????? 17???????? 95-02?????? 5605?????? 5700
GCCLIB 202 E?? R/O?? 10 3350? 800???????? 23??????? 355-06?????? 5345?????? 5700
GCC291 203 F?? R/O? 115 3350? 800???????? 32????? 12303-19????? 53228????? 65531
GCC391 204 G?? R/O? 115 3350? 800????????? 0????????? 5-00????? 65526????? 65531
GCC491 205 H?? R/O? 115 3350? 800????????? 0????????? 5-00????? 65526????? 65531
GCC591 206 I?? R/O?? 34 3350? 800???????? 84????? 13730-71?????? 5650????? 19380
GCC691 207 J?? R/O?? 45 3350? 800??????? 537????? 19340-75?????? 6310????? 25650
GCC791 208 K?? R/O?? 64 3350? 800??????? 184????? 23041-63????? 13439????? 36480
GCC891 209 L?? R/O?? 40 3350? 800??????? 120?????? 3607-16????? 19193????? 22800
CMSDSK 190 S?? R/O?? 59 3350? 800??????? 172????? 19533-58????? 14097????? 33630
MNT19D 19D U/S R/O?? 70 3350? 800??????? 397?????? 5296-13????? 34604????? 39900
MNT19E 19E Y/S R/O?? 70 3350? 800??????? 682????? 24651-62????? 15249????? 39900
Ready; T=0.01/0.01 01:02:33
l unistd h * ( date
File not found.
Ready(00028); T=0.01/0.01 01:02:47
l fcntl h * ( date
File not found.
Ready(00028); T=0.01/0.01 01:03:29

?... Mark S.


 

¿ªÔÆÌåÓý

Hello Mark,

if the ZIP source is planned for different environments (say: Windows and Unix),
there should be a #define variable which controls for which environment the compile is done;
this variable controls the #include of Unix- or Windows-specific header files.

It could be that none of these #define variable is set and some sort of default is used ...

This may lead to those Unix headers being included.

Maybe you have to examine this and add another #define variable (and #include)
which is mainframe specific ?? ... if the Standard C90 headers are not sufficient ...

Normally I would assume that a program like ZIP which requires "only" sequential FILE I/O
should not require special system services which are environment specific.
Maybe you can get rid of those system specific #includes.

Kind regards

Bernd


Am 13.11.2021 um 09:27 schrieb Dave Wade:

Mark,

?

Neither fcntl.h nor unistd.h are not part of the C90/ANSI C standard which is what GCCCMS implements and so don¡¯t exist.

I believe that fcntl.h is part of the POSIX standard and unistd.h is a ¡°unixism¡± so doesn¡¯t exist on many platforms.

I believe Stdio.h is missing some routines which are not easy to implement on a record orientated file store¡­

?

Dave

?

?

From: [email protected] <[email protected]> On Behalf Of Mark A. Stevens via groups.io
Sent: 13 November 2021 01:06
To: [email protected]
Subject: Re: [h390-vm] ZIP & UNZIP for VM/370 CE?

?

Understood. Fitting the glass slipper onto one of the ugly stepsisters :-D

Given that, I removed all the parameters, and after getting rid of some character mis-translations due to code pages ...
?
FILE 1???? 27? #if defined(WINDLL) || defined(API)
FILE 2???? 27? #if defined(WINDLL) ?? defined(API)
?
FILE 1??? 171? #if defined(ZIPLIB) || defined(COM_OBJECT)
FILE 2??? 171? #if defined(ZIPLIB) ?? defined(COM_OBJECT)
?
FILE 1??? 182? #endif /* WINDLL? || API? */
FILE 2??? 182? #endif /* WINDLL? ?? API? */

I am looking at the following errors. I accessed all the GCCCMS minidisks looking for
unistd.h (UNISTD H) & fcntl.h (FCNTL H)

gcc zip c a
OPEN ERROR CODE '04' ON 'PDP001HD'.
In file included from zip.h:88,
???????????????? from <stdin>:16:
tailor.h:230:59: unistd.h: An error has occurred
?
OPEN ERROR CODE '04' ON 'PDP001HD'.
tailor.h:234:21: fcntl.h: An error has occurred
?
In file included from zip.h:88,
???????????????? from <stdin>:16:
tailor.h:374: syntax error before "time_t"
tailor.h:374: warning: no semicolon at end of struct or union
tailor.h:375: warning: data definition has no type or storage class
tailor.h:376: warning: data definition has no type or storage class
In file included from <stdin>:16:

And from the help for GCCLIB I see the following.

Limitations
-----------
?
GCCLIB does not yet implement the complete C runtime library.? The following
routines are not yet implemented:
?? snprintf()??????? stdio.h

Therefore, is it 'safe' to assume unistd.h (UNISTD H) & fcntl.h (FCNTL H) are also missing in action?

q disk
Label? CUU M? Stat? Cyl Type Blksize?? Files? Blks Used-(%) Blks Left? Blk Total
MNT191 191 A?? R/W?? 30 3350? 800???????? 31??????? 462-03????? 16638????? 17100
MNT5E5 5E5 B/B R/O?? 30 3350? 800???????? 11??????? 119-01????? 16981????? 17100
GCC191 200 C?? R/O? 100 3350? 800????????? 7??????? 669-01????? 56331????? 57000
PDPCLB 201 D?? R/O?? 10 3350? 800???????? 17???????? 95-02?????? 5605?????? 5700
GCCLIB 202 E?? R/O?? 10 3350? 800???????? 23??????? 355-06?????? 5345?????? 5700
GCC291 203 F?? R/O? 115 3350? 800???????? 32????? 12303-19????? 53228????? 65531
GCC391 204 G?? R/O? 115 3350? 800????????? 0????????? 5-00????? 65526????? 65531
GCC491 205 H?? R/O? 115 3350? 800????????? 0????????? 5-00????? 65526????? 65531
GCC591 206 I?? R/O?? 34 3350? 800???????? 84????? 13730-71?????? 5650????? 19380
GCC691 207 J?? R/O?? 45 3350? 800??????? 537????? 19340-75?????? 6310????? 25650
GCC791 208 K?? R/O?? 64 3350? 800??????? 184????? 23041-63????? 13439????? 36480
GCC891 209 L?? R/O?? 40 3350? 800??????? 120?????? 3607-16????? 19193????? 22800
CMSDSK 190 S?? R/O?? 59 3350? 800??????? 172????? 19533-58????? 14097????? 33630
MNT19D 19D U/S R/O?? 70 3350? 800??????? 397?????? 5296-13????? 34604????? 39900
MNT19E 19E Y/S R/O?? 70 3350? 800??????? 682????? 24651-62????? 15249????? 39900
Ready; T=0.01/0.01 01:02:33
l unistd h * ( date
File not found.
Ready(00028); T=0.01/0.01 01:02:47
l fcntl h * ( date
File not found.
Ready(00028); T=0.01/0.01 01:03:29

?... Mark S.


 

On Sat, Nov 13, 2021 at 02:09 AM, Marco Antoniotti wrote:
I may be wrong, but the character '?' and the character '|' are not the same as far as C is concerned.
That is the character that did not translate properly, so I am fixing them as I find them. Definitely part of the challenge.

Thank you!

?... Mark S.


 

Dave,

I had deleted/emptied the ZIP PARM file I had created, and am now trying to add back. The INSTALL document is geared for IBM C, so I'm have to interpret.

When I use the following,? I get a VM READ right after the GCC command, and nothing happens until I press <ENTER>, then I get the errors.

TYPE ZIP PARM A
?
DEFINE(VM_CMS) RENT - -DVM_CMS -S
?
Ready; T=0.01/0.01 19:58:03
GCC ZIP C A ( PARM ZIP
?
CP: cannot compile multiple files
Return code 12 from GCC of ZIP
NO DEVICE SPECIFIED.
Ready(00012); T=0.04/0.14 20:00:34

If I use the following, again I get the VM READ, press <ENTER> and get the following errors.

type zip parm a
?
DEFINE(VM_CMS) RENT - -DVM_CMS
?
Ready; T=0.01/0.01 20:03:41
GCC ZIP C A ( PARM ZIP
?
CP: must use -S option on MVS (ie produce assembler output)
Return code 12 from GCC of ZIP
NO DEVICE SPECIFIED.
Ready(00012); T=0.04/0.17 20:03:51

Seems I can't win, with or without -S. Any ideas?

... Mark S.


 

Bernd,

Thanks. I have very few tips or pointers on GCC compiler options, so it is very much trial and error.? I did find a reference in the ZIP code for VM_CMS, and? two ways to identify the code as reentrant (RENT or REENTRANT).

I'm not sure if unix type switches -DVM_CSM or CMS type switches DEFINE(VM_CMS) are allowed/preferred, so I guess I exhaust all 'options' as I go.

?... Mark S.


 

I feel like a cat typing random characters on a keyboard ... Reducing ZIP PARM to the following actually got me compiler help.

type zip parm a
?
-DVM_CMS
?
Ready; T=0.01/0.01 20:24:33
gcc zip c a ( parm zip
?
CP (GCC) 3.2.3 MVS V8.5
Usage: CP [options] file...
Options:
...

I cleaned up the output and present it here ... Why is CP referenced here? Is GCC called CP on MVS?


CP (GCC) 3.2.3 MVS V8.5
Usage: CP [options] file...
Options:
? -pass-exit-codes? ?????? Exit with highest error code from a phase
? --help?????????????????? Display this information
? --target-help??????????? Display target specific command line options
? (Use '-v --help' to display command line options of sub-processe s)
? -dumpspecs?????????????? Display all of the built in spec strings
? -dumpversion???????????? Display the version of the compiler
? -dumpmachine???????????? Display the compiler's target processor
? -print-search-dirs?????? Display the directories in the compiler's search path
? -print-libgcc-file-name? Display the name of the compiler's companion library
? -print-file-name=<lib>?? Display the full path to library <lib>
? -print-prog-name=<prog>? Display the full path to compiler component <prog>
? -print-multi-directory?? Display the root directory for versions of libgcc
? -print-multi-lib???????? Display the mapping between command line options and
?????????????????????????? multiple library search directories
? -print-multi-os-directory Display the relative path to OS libraries
? -Wa,<options>??????????? Pass comma-separated <options> on to the assembler
? -Wp, <options>?????????? Pass comma-separated <options> on to the preprocessor
? -Wl,<options>??????????? Pass comma-separated <options> on to the linker
? -Xlinker <arg>?????????? Pass <arg> on to the linker
? -save-temps????????????? Do not delete intermediate files
? -pipe??????????????????? Use pipes rather than intermediate files
? -time??????????????????? Time the execution of each subprocess
? -specs=<file>??????????? Override built-in specs with the contents of <file>
? -std=<standard>????????? Assume that the input sources are for <standard>
? -B <directory>?????????? Add <directory> to the compiler's search paths
? -b <machine>???????????? Run gcc for target <machine>, if installed
? -V <version>???????????? Run gcc version number <version>, if installed
? -v?????????????????????? Display the programs invoked by the compiler
? -###???????????????????? Like -v but options quoted and commands not executed
? -E?????????????????????? Preprocess only; do not compile, assemble or link
? -S?????????????????????? Compile only; do not assemble or link
? -c?????????????????????? Compile and assemble, but do not link
? -o <file>??????????? ? ?? Place the output into <file>
? -x <language>??????????? Specify the language of the following input files
?????????????????????????? Permissable languages include: c c++ assembler none
?????????????????????????? 'none' means revert to the default behavior of
?????????????????????????? guessing the language based on the file's extension
?
Options starting with -g , -f, -m, -O, -W, or --param are automatically
?passed on to the various sub-processes invoked by CP.? In order to pass
?other options on to these processes the -W<letter> options must be used.

?... Mark S.


 

¿ªÔÆÌåÓý

Mark,

THERE IS NO RENT OPTION. (or equivalent)

Dave

?

From: [email protected] <[email protected]> On Behalf Of Mark A. Stevens via groups.io
Sent: 13 November 2021 20:12
To: [email protected]
Subject: Re: [h390-vm] ZIP & UNZIP for VM/370 CE?

?

Bernd,

Thanks. I have very few tips or pointers on GCC compiler options, so it is very much trial and error.? I did find a reference in the ZIP code for VM_CMS, and? two ways to identify the code as reentrant (RENT or REENTRANT).

I'm not sure if unix type switches -DVM_CSM or CMS type switches DEFINE(VM_CMS) are allowed/preferred, so I guess I exhaust all 'options' as I go.

?... Mark S.


 

Is there a PURCHASE option ;-)

Just trying to keep the levity alive.

?... Mark S.