Permalink
Browse files

initial upload of CMS TAR to GitHub

  • Loading branch information...
trothr committed Dec 3, 2016
1 parent 0e775e1 commit 559a193208fd3cbb3dba847af77f0cc0fe926193
Showing with 1,960 additions and 0 deletions.
  1. +71 −0 a2e.rexx
  2. +113 −0 cmstar.cmsmake
  3. +43 −0 cmstar.filelist
  4. +25 −0 cmstar.license
  5. +31 −0 cmstar.readme
  6. +71 −0 e2a.rexx
  7. +70 −0 executar.xedit
  8. +225 −0 maketext.rexx
  9. +74 −0 proftlst.xedit
  10. +133 −0 rxvmgroup.assemble
  11. +16 −0 tar.exec
  12. +103 −0 tar.helpcms
  13. +687 −0 tar.rexx
  14. +67 −0 tarindex.rexx
  15. +12 −0 tarlist.exec
  16. +51 −0 tarlist.helpcms
  17. +52 −0 tarpunch.rexx
  18. +35 −0 tarreadc.rexx
  19. +25 −0 tartake.rexx
  20. +56 −0 vmgroup.helprexx
View
@@ -0,0 +1,71 @@
+/* ----------------------------------------------------------------- ÆCS
+ * ASCII to EBCDIC and vice-versa code conversion tables.
+ * Tables included here are based on ASCII conforming to the ISO8859-1
+ * Latin 1 character set and EBCDIC conforming to the IBM Code Page 37
+ * Latin 1 character set (except for three pairs of characters in 037).
+ *
+ * Name: A2E REXX
+ * CMS Pipelines filter to translate ASCII to EBCDIC
+ * Author: Rick Troth, Houston, Texas, USA
+ * Date: 1992-Feb-27 for the filter, earlier for the table
+ *
+ * 1993-Aug-28: Thanks to Melinda Varian for helping me to
+ * correct some pipelining errors in this gem.
+ *
+ * Note: These tables are provided in source form so that you
+ * may modify them locally. I recommend that you not
+ * modify them just to make things look right on your
+ * screen. If you have an older terminal and there are
+ * not more than a dozen code-points that are wrong,
+ * then you're better off using CODEPAGE EXEC to set the
+ * CMS INPUT/OUTPUT translate tables. GOPHER EXEC
+ * *does respect* CMS' translate tables.
+ */
+
+ i = '000102030405060708090A0B0C0D0E0F'x
+ i = i || '101112131415161718191A1B1C1D1E1F'x
+ i = i || '202122232425262728292A2B2C2D2E2F'x
+ i = i || '303132333435363738393A3B3C3D3E3F'x
+ i = i || '404142434445464748494A4B4C4D4E4F'x
+ i = i || '505152535455565758595A5B5C5D5E5F'x
+ i = i || '606162636465666768696A6B6C6D6E6F'x
+ i = i || '707172737475767778797A7B7C7D7E7F'x
+ i = i || '808182838485868788898A8B8C8D8E8F'x
+ i = i || '909192939495969798999A9B9C9D9E9F'x
+ i = i || 'A0A1A2A3A4A5A6A7A8A9AAABACADAEAF'x
+ i = i || 'B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF'x
+ i = i || 'C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF'x
+ i = i || 'D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF'x
+ i = i || 'E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF'x
+ i = i || 'F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF'x
+
+ e = '00010203372D2E2F1605250B0C0D0E0F'x
+ e = e || '101112133C3D322618193F271C1D1E1F'x
+ e = e || '405A7F7B5B6C507D4D5D5C4E6B604B61'x
+ e = e || 'F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F'x
+ e = e || '7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6'x
+ e = e || 'D7D8D9E2E3E4E5E6E7E8E9ADE0BD5F6D'x
+ e = e || '79818283848586878889919293949596'x
+ e = e || '979899A2A3A4A5A6A7A8A9C04FD0A107'x
+ e = e || '202122232415061728292A2B2C090A1B'x
+ e = e || '30311A333435360838393A3B04143EFF'x
+ e = e || '41AA4AB19FB26AB5BBB49A8AB0CAAFBC'x
+ e = e || '908FEAFABEA0B6B39DDA9B8BB7B8B9AB'x
+ e = e || '6465626663679E687471727378757677'x
+ e = e || 'AC69EDEEEBEFECBF80FDFEFBFCBAAE59'x
+ e = e || '4445424643479C485451525358555657'x
+ e = e || '8C49CDCECBCFCCE170DDDEDBDC8D8EDF'x
+
+/* ----------------------------------------------------------------- A2E
+ * Translate ASCII to EBCDIC.
+ */
+Do Forever
+ 'PEEKTO LINE'
+ If rc ^= 0 Then Leave
+ 'OUTPUT' Translate(line,e,i)
+ If rc ^= 0 Then Leave
+ 'READTO'
+ End /* Do While */
+
+Exit rc * (rc ^= 12)
+
View
@@ -0,0 +1,113 @@
+#
+#
+# Name: CMSTAR CMSMAKE
+# Date: 2016-Apr-24 +/-
+# This file is part of the CMSTAR package
+# but requires CMS Make and VMARC for full operation.
+#
+
+all: \
+ cmstar.filelist \
+ cmstar.readme \
+ cmstar.license \
+ tar.exec \
+ tar.rexx \
+ tarindex.rexx \
+ tarreadc.rexx \
+ tarpunch.rexx \
+ tartake.rexx \
+ tarlist.exec \
+ proftlst.xedit \
+ executar.xedit \
+ tar.helpcms \
+ tarlist.helpcms \
+ vmgroup.helprexx \
+ rxvmgroup.assemble \
+ a2e.rexx \
+ e2a.rexx \
+ maketext.rexx \
+ cmstar.cmsmake
+
+
+cmstar.filelist:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+cmstar.readme:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+cmstar.license:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+tar.exec:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+tar.rexx:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+tarindex.rexx:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+tarreadc.rexx:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+tarpunch.rexx:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+tartake.rexx:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+tarlist.exec:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+proftlst.xedit:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+executar.xedit:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+rxvmgroup.helpcms:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+tar.helpcms:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+tarlist.helpcms:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+rxvmgroup.assemble:
+ wget http://ltroth1.casita.net/pub/cmstar/$@
+
+rxvmgroup.module: rxvmgroup.assemble
+ @copyfile rxvmgroup assemble a = = = ( olddate replace recfm f lrecl 80
+ GLOBAL MACLIB DMSGPI DMSOM
+ HLASM RXVMGROUP
+ LOAD RXVMGROUP (RLDSAVE
+ GENMOD RXVMGROUP
+ ERASE RXVMGROUP TEXT
+ ERASE RXVMGROUP LISTING
+ ERASE LOAD MAP
+
+### package files ###
+
+archives: cmstar.vmarc cmstar.tar
+
+cmstar.vmarc: cmstar.filelist rxvmgroup.module
+ @rm -f cmstar.vmarc
+ @cms ' pipe < cmstar filelist \
+ | nlocate 1.1 /*/ \
+ | spec /vmarc pack/ nw w 1 nw w 2 nw /a/ nw \
+ /cmstar vmarc a ( append/ nw \
+ | cms | console '
+ @VMARC PACK RXVMGROUP MODULE * CMSTAR VMARC A ( APPEND
+
+cmstar.vmarcuue: cmstar.vmarc
+ uuencode -m $< < $< > $@
+
+cmstar.tar: cmstar.filelist
+ @rm -f cmstar.tar
+ tar cvf cmstar.tar (include cmstar
+
+cmstar.taruue: cmstar.tar
+ uuencode -m $< < $< > $@
+
+
View
@@ -0,0 +1,43 @@
+* Copyright � 2016, Richard M. Troth, all rights reserved. <plaintext>
+*
+* Name: CMSTAR FILELIST
+* Date: 2016-Apr-21 (Thu)
+* This is the package definition for "CMS TAR".
+*
+ CMSTAR FILELIST * -- this file
+ CMSTAR README * -- do what the name says
+ CMSTAR LICENSE * -- simplified legal stuff
+*
+* CMS TAR:
+ TAR EXEC * -- the 'tar' command (wraps the pipeline)
+ TAR REXX * -- 'tar' as a CMS Pipelines stage
+ TARINDEX REXX * --
+ TARREADC REXX * --
+ TARPUNCH REXX * --
+* TARTAPER REXX * --
+* TARTAPEW REXX * --
+ TARTAKE REXX * --
+*
+* RXVMGROUP MODULE * -- a vmgroup() function for REXX
+ RXVMGROUP ASSEMBLE * -- source to the vmgroup() function
+ VMGROUP HELPREXX * -- help file for the vmgroup() function
+*
+* support stages for plaintext conversion
+ A2E REXX * --
+ E2A REXX * --
+ MAKETEXT REXX * --
+*
+ TAR HELPCMS * -- brief help
+*
+* TARLIST:
+ TARLIST EXEC * -- the 'tarlist' command
+ PROFTLST XEDIT * -- macro to present the list view
+ EXECUTAR XEDIT * -- macro for commands from list view
+ TARLIST HELPCMS * -- brief help
+*
+* supplemental
+ CMSTAR CMSMAKE * -- simple 'make' rules for [re]packaging these files
+* make -f cmstar rxvmgroup.module
+* make -f cmstar archives
+*
+*
View
@@ -0,0 +1,25 @@
+Copyright � 1994, 1995, 2016, Richard M. Troth, all rights reserved. <plaintext> �
+
+ This software may be freely distributed provided that this notice
+ and the code itself remain unchanged. The user may make any private
+ changes needed to accomodate local conventions but may not distribute
+ said changes if not made available to the author(s) for incorporation
+ and redistribution. This software is provided AS-IS with NO WARRANTY.
+ Neither the author(s) nor any relations (employers, supporters,
+ partners, or dependents) shall be held liable for any damages
+ resulting from the use of this software.
+
+ Portions of this software were developed on the VM/ESA system at Rice
+ University in Houston, Texas. Portions of this software were developed
+ on the VM/ESA system at the University of Alabama in Tuscaloosa,
+ Alabama. Portions of this software were developed on the z/VM system
+ at Marist College in Poughkeepsie, New York. This software depends on
+ other support programs, of which some are freely distributable,
+ others proprietary and/or licensed.
+
+ If you wish to support future development of this software,
+ or use it in a for-profit distribution, contact the author:
+
+ Rick Troth <rmt@casita.net>
+
+
View
@@ -0,0 +1,31 @@
+Copyright � 1994, 1995, 2016, Richard M. Troth, all rights reserved. <plaintext> �
+
+ This is CMSTAR README in plain text.
+ See CMSTAR LICENSE for copyright and related information.
+ There is no charge, although a substantial amount of personal time
+ went into this effort.
+
+ CMS TAR version 2 is a from-scratch 'tar' creator/extractor built upon
+ the powerful CMS Pipelines. Files archived with CMS TAR version 2
+ can be extracted UNIX 'tar' and files archived with UNIX 'tar' can be
+ extracted with CMS TAR.
+
+ There was also Rice CMS TAR version 1, which is C sourced and was
+ written by Sean Starke. CMS TAR 1.0 is based on GNU TAR. This is
+ NOT the same program or package. (Although I have borrowed and
+ modified Sean's HELP file.) Changes to GNU TAR for CMS were returned
+ to the Free Software Foundation. Extent of use or incorporation
+ of those changes in the distribution GNU TAR package is not known.
+
+ Also included is a TARLIST EXEC. This tool allows you to browse
+ a TAR archive and selectively view or extract files. It is NOT as
+ functional as CMS FILELIST or CMS RDRLIST, which inspired it.
+
+ Feature note: this release of CMS TAR does not follow SFS hierarchies.
+ Such capability is an obvious requirement for a future release.
+
+ If you have questions about this package, send e-mail to:
+
+ Rick Troth <rmt@casita.net>
+
+
View
@@ -0,0 +1,71 @@
+/* ----------------------------------------------------------------- ÆCS
+ * ASCII to EBCDIC and vice-versa code conversion tables.
+ * Tables included here are based on ASCII conforming to the ISO8859-1
+ * Latin 1 character set and EBCDIC conforming to the IBM Code Page 37
+ * Latin 1 character set (except for three pairs of characters in 037).
+ *
+ * Name: E2A REXX
+ * CMS Pipelines filter to translate EBCDIC to ASCII
+ * Author: Rick Troth, Houston, Texas, USA
+ * Date: 1992-Feb-27 for the filter, earlier for the table
+ *
+ * 1993-Aug-28: Thanks to Melinda Varian for helping me to
+ * correct some pipelining errors in this gem.
+ *
+ * Note: These tables are provided in source form so that you
+ * may modify them locally. I recommend that you not
+ * modify them just to make things look right on your
+ * screen. If you have an older terminal and there are
+ * not more than a dozen code-points that are wrong,
+ * then you're better off using CODEPAGE EXEC to set the
+ * CMS INPUT/OUTPUT translate tables. GOPHER EXEC
+ * *does respect* CMS' translate tables.
+ */
+
+ i = '000102030405060708090A0B0C0D0E0F'x
+ i = i || '101112131415161718191A1B1C1D1E1F'x
+ i = i || '202122232425262728292A2B2C2D2E2F'x
+ i = i || '303132333435363738393A3B3C3D3E3F'x
+ i = i || '404142434445464748494A4B4C4D4E4F'x
+ i = i || '505152535455565758595A5B5C5D5E5F'x
+ i = i || '606162636465666768696A6B6C6D6E6F'x
+ i = i || '707172737475767778797A7B7C7D7E7F'x
+ i = i || '808182838485868788898A8B8C8D8E8F'x
+ i = i || '909192939495969798999A9B9C9D9E9F'x
+ i = i || 'A0A1A2A3A4A5A6A7A8A9AAABACADAEAF'x
+ i = i || 'B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF'x
+ i = i || 'C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF'x
+ i = i || 'D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF'x
+ i = i || 'E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF'x
+ i = i || 'F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF'x
+
+ a = '000102039C09867F978D8E0B0C0D0E0F'x
+ a = a || '101112139D8508871819928F1C1D1E1F'x
+ a = a || '80818283840A171B88898A8B8C050607'x
+ a = a || '909116939495960498999A9B14159E1A'x
+ a = a || '20A0E2E4E0E1E3E5E7F1A22E3C282B7C'x
+ a = a || '26E9EAEBE8EDEEEFECDF21242A293B5E'x
+ a = a || '2D2FC2C4C0C1C3C5C7D1A62C255F3E3F'x
+ a = a || 'F8C9CACBC8CDCECFCC603A2340273D22'x
+ a = a || 'D8616263646566676869ABBBF0FDFEB1'x
+ a = a || 'B06A6B6C6D6E6F707172AABAE6B8C6A4'x
+ a = a || 'B57E737475767778797AA1BFD05BDEAE'x
+ a = a || 'ACA3A5B7A9A7B6BCBDBEDDA8AF5DB4D7'x
+ a = a || '7B414243444546474849ADF4F6F2F3F5'x
+ a = a || '7D4A4B4C4D4E4F505152B9FBFCF9FAFF'x
+ a = a || '5CF7535455565758595AB2D4D6D2D3D5'x
+ a = a || '30313233343536373839B3DBDCD9DA9F'x
+
+/* ----------------------------------------------------------------- E2A
+ * Translate EBCDIC to ASCII.
+ */
+Do Forever
+ 'PEEKTO LINE'
+ If rc ^= 0 Then Leave
+ 'OUTPUT' Translate(line,a,i)
+ If rc ^= 0 Then Leave
+ 'READTO'
+ End /* Do While */
+
+Exit rc * (rc ^= 12)
+
Oops, something went wrong.

0 comments on commit 559a193

Please sign in to comment.