------------------------------------------------------------------------ Copyright (c) The Charles Stark Draper Laboratory, Inc., 1992 SAS enhancements copyright (c) 1992 SAS Institute, Inc. This software is provided on an "AS IS" basis. All warranties, including the implied warranties of merchantability and fitness, are expressly denied. Provided this copyright notice is included, this software may be freely distributed and not offered for sale. Changes or modifications may be made and used only by the maker of same, and not further distributed. Such modifications should be mailed to the author for consideration for addition to the software and incorporation in subsequent releases. ------------------------------------------------------------------------ MVS NNTP News Reader - Version 3 Release 1 Author: Steve Bacher Enhancements by: Dale Ingold ------------------------------------------------------------------------ New Features and Changes in member $CHANGES of the distribution. ------------------------------------------------------------------------ Contents of PDS's belonging to NNMVS distribution: Member PDS Type Description $$README CNTL This file $CHANGES CNTL New features and changes $MISC CNTL Miscellaneous gotchas and installation notes ALLOAD CNTL JCL to allocate NNMVS load library AUTH CNTL Sample server authorization file COMPILE CNTL JCL to compile and link C source GRAMMAR CNTL Description of NNMVS batch expression syntax HELP CNTL Description of NNMVS batch language NNMVS CNTL JCL to run NNMVS in batch NNMVSHLP CNTL TSO HELP for the NNMVSP version of the exec NNMFIUCV CLIST Exec to check for multiple socket applications NNMVS CLIST Exec by which users invoke the news reader NNMVSC CLIST CLIST by which users invoke the news reader NNMVSL CLIST CLIST to run multiple-news-server ISPF dialog NNMVSP CLIST Exec using XPROC to parse CLIST-style parms NNMMAIL CLIST Exec called by news reader to send mail NNM... PANEL ISPF regular panels TNNM... PANEL ISPF tutorial panels NN... H C headers for compilation NNM... C C source for compilation -------------------------------------------------------------------- Directions: Assuming the PDS's have been created: 1. Customize the ALLOAD and COMPILE JCL members to reflect your local conventions. Note: If you intend to place the executable into an existing library, you can suppress that part of the ALLOAD JCL. The name of the data set created must match across both members. 2. Customize the NNUSER header file as shown by the comments therein. Note in particular the defines for your TCP/IP and your C compiler. There are changes to the linkedit JCL that are related to these. 3. Choose which exec you want to use: NNMVS - the traditional REXX exec, not much parameter passing NNMVSP - REXX exec that uses XPROC to parse CLIST-style parms NNMVSC - CLIST that accepts CLIST-style parameters If you don't have XPROC (the utility that allows a REXX exec to parse CLIST-style parameters), you can get it from the same place that you got NNMVS. I highly recommend that you do so if you do a lot of conversion from CLIST to REXX. If you really can't or won't get XPROC, you can use the CLIST, but keep in mind that there are some things the CLIST just can't do that the REXX exec can. Refer to the comments therein for more details. Customize whichever of the above you pick to define the names of the MVS libraries to contain the panel and load library members. The load library must be the one specified in the ALLOAD JCL, if you are creating it anew. Observe the comments relating to the use of LIBDEF and ISPF APPLIDs. Note that if you install one of the REXX execs, you must also install the NNMFIUCV exec in the same library. This exec implements a crude check for an existing TCP/IP socket application (e.g. another NNMVS) in a different PIE MultiTSO session. It prevents your users from crashing TCP/IP, so it is highly recommended that you make use of it. 4. Customize the NNMMAIL exec to invoke your local mailer, or otherwise insure that messages sent via MAIL or REPLY arrive at their intended destination. 5. If you are running ISPF Version 2 or earlier, edit the NNMVS panels whose names begin "NNMP...". These are popups, and will not work under ISPF Version 2 unless you change the )BODY line. Remove the WINDOW(...) parameter from the )BODY line of each panel so that the line just says )BODY or )BODY EXPAND(``), as the case may be. Note: You may wish to customize the TNNMSERV tutorial panel to include the names of all available NNTP servers at your site. Now, to install: 6. Submit the ALLOAD JCL to allocate the load library from which the executable program will be run. If you intend to place the executable into an existing library, you can skip this step, but you should make sure that there is no previous load module named NNMMAIN in the load library of your choice before you proceed. 7. Submit the COMPILE JCL to compile all the C sources and create the executable NNMVS load module. The first time you run this you can expect a return code of 8 from the linkedit. Like SMP/E, this is OK if the only reason is an IEW0342 because the "INCLUDE SYSLMOD(NNMMAIN)" did not find an existing load module. If you get IEW0132 (unresolved external reference) or IEW0241 (ESD type definition conflict), your linkedit went awry. Don't use the resultant load module. Check the libraries you specified on the link step to see what went wrong. In the future, if you have to recompile individual modules, you can use the same JCL to compile only those modules, and the link will include the new modules in the existing executable load module. ********************************************************************* IMPORTANT: If you are running TCP/IP V2R2 or higher on MVS, you must change the following library names in the compile and link JCL: TCPIP.COMMMAC should be changed to TCPIP.SEZACMAC TCPIP.COMMTXT should be changed to TCPIP.SEZACMTX ********************************************************************* Note: If you have defined C370V1 in the NNUSER header file, you must also include the system linklist load library or libraries containing ISPLINK, ISPEXEC and IKJEFF18 when linking. Otherwise you may delete the lines from the linkedit JCL that reference them. Note: You need not include the PASCAL libraries or the AMPZMVSB module if you are using TCP/IP Version 2 or higher, in which case you must also define TCPIPV2 in the NNUSER headerfile. 8. Copy the HELP member of the CNTL library into the data set which will be allocated to ddname NNBATHLP by the NNMVS batch mode JCL procedure. This data set contains the text printed by the batch HELP command. The distributed proc calls this 'NNMVS.HELP' - change it to match the name of your data set (sequential, or member of a PDS). 9. Copy the NNMVS (or NNMVSC or NNMVSP) and NNMMAIL execs into your installation CLIST or REXX library. Also copy the NNMVSL exec if you want access to Leonard Woren's experimental multiple-server dialog. 10. If you use the NNMVSP version of the exec, copy the NNMVSHLP member of the CNTL PDS into your installation TSO HELP library under the same name as you gave the exec, so folks can type HELP xxx where xxx is the name of the exec. If you have local help that you want to include (like names of local servers, posting guidelines, or whatever), create a HELP member called NNMVSLOC and install it in the same library. 11. Copy all the members of the panel PDS into the ISPF panel library specified in the NNMVS exec. -------------------------------------------------------------------- Note: Make sure that the C/370 run time library is available, either in the system link list or in the ISPLLIB concatenation, before attempting to run NNMVS. If the C/370 runtime library is not in the link list or otherwise available to ISPF at execution time, you may arrange for it to be allocated via LIBDEF in the NNMVS exec (I haven't tried this). -------------------------------------------------------------------- Questions? Comments? Suggestions? Gripes? Requests? Musings? You can communicate all of these via the LISTSERV mailing list NNMVS-L, maintained at VM.USC.EDU. To get on this list, send mail to LISTSERV@USCVM (or LISTSERV@VM.USC.EDU) with the following line in the message body: SUBSCRIBE NNMVS-L firstname lastname Please keep in mind that further requests (e.g. to unsubscribe from the list) must be sent to the LISTSERV address, *not* to the list. The response you'll get from the SUBSCRIBE message will tell you about this and more - so be sure to save it. -------------------------------------------------------------------- Please email all other correspondence to... Steve Bacher or