Copyright by Brian Schenkenberger and TMESIS Consulting All rights reserved. ------------------------- This software is provided "as is" and is supplied for informational purpose only. No warranty is expressed or implied and no liability can be accepted for any actions or circumstances incurred from the use of this software or from the information contained herein. The author makes no claim as to the suitability or fitness of this software or information contain herein for a particular purpose. ------------------------- This software may be copied and distributed only with the inclusion of this copyright notice. ------------------------------------------------------------------------- * * * P E R M A N E N T * * * ------------------------- Description: ----------- PERMANENT provides the ability to define a DCL string symbol pemanently. Permanent DCL symbols can not be deleted with the DELETE/SYMBOL command not can they can be redefined. PERMANENT can be used by system managers that wish to define system-wide symbols for all users and ensure that the symbols can no be deleted from the process's symbol table. Optionally, the use of PERMANENT can be re- stricted to use in the SYLOGIN.COM file permitting the system manager to define permanent symbols without giving the capability to users. PERMANENT will run on both OpenVMS/VAX and OpenVMS/AXP. ------------------------------------------------------------------------- Release Information: ------------------- This is the first release of the PERMANENT package. (v1.4%047) ------------------------------------------------------------------------- Distribution Information: ------------------------ PERMANENT requires CMEXEC privilege and executes code at exec mode access. Therefore, PERMANENT is distributed in source form for inspection. *** This package contains the following files: ----------------------------------------- BUILD.COM .............. Compile and link source. Create .HLP source file. BUILD_SYLOGIN_ONLY.COM . Compile and link source with optional restriction. INSTALL_PERMANENT.COM .. Command file to install PERMANENT during startup. PERMANENT.RNH .......... Digital Standard Runoff(DSR) source for .HLP file. PERMANENT.MAR .......... Source for PERMANENT. *** BUILD.COM (or BUILD_SYLOGIN_ONLY.COM) will create the following files: --------------------------------------------------------------------- PERMANENT.HLB ......... OpenVMS help library file for PERMANENT. PERMANENT.HLP ......... OpenVMS help library source file for PERMANENT. PERMANENT.LIS ......... OpenVMS VAX/AXP listing file from PERMANENT.MAR. PERMANENT.OBJ ......... OpenVMS VAX/AXP object file from PERMANENT.MAR. PERMANENT.EXE ......... OpenVMS VAX/AXP executable file for PERMANENT. PERMANENT.MAP ......... OpenVMS VAX/AXP linker map file for PERMANENT. ------------------------------------------------------------------------- * * * I N S T A L L A T I O N O F P E R M A N E N T * * * Execute the command procedure BUILD.COM (or BUILD_SYLOGIN_ONLY.COM if you wish to restrict the capabilities of PERMANENT to use during login to the SYLOGIN.COM file.) This will create the executable (PERMANENT.EXE) and the help files (PERMANENT.HLP and PERMANENT.HLB). Optionally, the .LISting and .MAP files can be disabled by passing qualifiers to the BUILD.COM procedure. The first parameter should specify a blank or valid optional MACRO qualifiers. To 'turn-off' the generation of the .LISting file, specify "/NOLIST" as the first parameter. The second parameter is used to pass LINK qualifiers. The parameter should specify valid optional LINKing qualifiers. To 'turn-off' the generation of the .MAP file, specify "/NOMAP" as the second parameter. For example: $ @BUILD "/NOLIST" "/NOMAP" -or- $ @BUILD_SYLOGIN_ONLY "/NOLIST" "/NOMAP" To generate just a MAP file: $ @BUILD "/NOLIST" "/MAP" -or- $ @BUILD_SYLOGIN_ONLY "/NOLIST" "/MAP" The logical BUILD_VERIFY may be defined to a value of 1 to turn on command verification of the build procedure. ----- PERMANENT.EXE should be placed in SYS$COMMON:[SYSEXE] -- However, it is not required. If you choose, PERMANENT may be placed anywhere on your system provided that the following logical definition is made. This line should be placed in SYLOGICALS.COM or your system startup prior to installing PERMANENT. $ DEFINE/SYSTEM/EXECUTIVE PERMANENT $DEV$???:[]PERMANENT.EXE ----- PERMANENT must then be installed. This command line should be placed in your system startup and should be activated after the logical (if PERMANENT.EXE was not placed in SYS$COMMON:[SYSEXE]) PERMANENT has been defined. Install PERMANENT with the following: $ INSTALL ADD/OPEN/HEADER_RESIDENT/SHARED/PRIVILEGED=CMEXEC PERMANENT ----- The above two steps can be performed using the INSTALL_PERMANENT.COM procedure. Invoke the INSTALL_PERMANENT.COM procedure during system startup. If PEMANENT is not placed in SYS$COMMON:[SYSEXE], pass the file specification to the INSTALL_PERMANENT.COM procedure. For example, the following is placed in SYSTARTUP_V5.COM (or V6.n: SYSTARTUP_VMS.COM) to install PERMANENT. Assume, for this example, that the system mananger has placed PERMANENT.EXE in the directory SYS$SYSDEVICE:[PUBLIC_DOMAIN.PERMANENT]. $ @SYS$STARTUP:INSTALL_PERMANENT SYS$SYSDEVICE:[PUBLIC_DOMAIN.PERMANENT] ----- To make the command available, define the foreign command PERMANENT using the following syntax: $ PERMANENT :== $PERMANENT This should be placed in SYLOGIN.COM to make it available for all users. This program requires CMEXEC privilege. It is installed with CMEXEC privilege by the INSTALL_SYMBOL.COM procedure. If PERMANENT is built with the option to restrict its use to the system SYLOGIN.COM file, the system logcial SYS$SYLOGIN must be defined and it must point to the location of the SYLOGIN.COM file which is executed. ----- PERMANENT help functions can be provided using one of the following: The PERMANENT help information can be added directly to the existing VMS help library. The PERMANENT.HLP source file is created by the BUILD.COM (or BUILD_SYLOGIN_ONLY.COM) procedure. This file is used to update the default VMS help library using the following command: $ LIBRARY/HELP/INSERT SYS$HELP:HELPLIB.HLB PERMANENT.HLP - or - PERMANENT help information can be provided by defining an optional default library logical (HLP$LIBRARY_xxx) which should translate to PERMANENT.HLB. $ DEFINE/SYSTEM/EXECUTIVE HLP$LIBRARY_x $DEV$???:[]PERMANENT.HLB ----- .END.