From: lauri@elwing.fnal.gov (Laurelin of Middle Earth)
Subject: RE: SYSUAF conditional modification
Organization: Fermilab Computing Division
Date: Fri, 13 Nov 1992 17:04:45 GMT

Earlier this month, Alan Greig (Alan@DCT.AC.UK) posted:

>> Has anyone written a tool to simplify conditionally modifying
>> sysuaf.dat?

>> What I have in mind is the ability to wildcard modify various parameters
>> such as bytlm, pgflquo etc, to a certain value but not to change an
>> individual field if the account already has a higher value for this
>> parameter.

I wrote exactly such a utility as an exercise in learning C.  However, I
work for a national research lab and had to cut through some red tape and
bureaucracy in order to get the Official OK to release my code.

The red tape has been cut.

Below is a brief description of SETPQL.  I will be posting the package in
VMS_SHARE format shortly.  Please forgive me if I don't do this quite right,
I've never posted a VMS_SHARE package before.

-- lauri
 ----------------------------------------------------------------------------- 
| Laurelin Loebel            "All that is gold does not glitter,              |
| lauri@elwing.fnal.gov        Not all those who wander are lost..." - JRRT   |
|...they don't generally like what i say anyway, so i don't speak for them... |
 ----------------------------------------------------------------------------- 

Product name  : SETPQL
      Version : 2.0
         Date : November 1992
Origin/Author : L. Loebel, Computing Division, Fermilab (lauri@fnal.fnal.gov)

Description:

        SETPQL is a utility designed for system managers in order to make
        sure that all users in the SYSUAF file have the minimum recommended
        process quota limits.  Frequently a new release of VMS or other
        layered products will require that certain quotas be raised.  The
        system manager may modify the DEFAULT account, but not each
        individual user.  Or, the system manager may know that some users
        already exceed this minimum value, and do not wish to do a global
        change for all users lest some have their quotas reduced.  SETPQL is
        designed so that it will only RAISE PQL values, never lower them.

        SYSUAF uses $RMS calls to read the SYSUAF file to obtain each
        username on the system.  (Unfortunately, there is no "supported"
        wildcard method of obtaining this list via system service calls). 
        $GETUAI and $SETUAI are used to read/modify the process quotas for
        users who do NOT meet the minimum specified on the command line (or
        in the DEFAULT account).  The /NOMODIFY qualifier may be used if you
        wish to only *look* at the account quotas, i.e., to check things
        before you actually make changes.
 
        The file BUILD.COM may be used to compile and link the modules that
        form the SETPQL.EXE image.  SETPQL is written in VAX-C and requires
        a C compiler. 
 
        The file SETPQL.HLP contains all of the information on the options
        available with the SETPQL command.  This is the most complete
        documentation source.

Usage:
	$ SETPQL :== "$ dev:[dir]SETPQL.EXE"	! wherever it is located
	$ SETPQL [/options]


Files included in this VMS_SHARE kit:

	AAAREADME.TXT          - this file.
	BUILD.COM              - creates the .EXE from the source modules.
	SETPQL.C               - primary C source code file.
	SETPQL_CLD.CLD         - command language definition module.
	SETPQL_MSG.MSG         - error message definition module.
	SETPQL.HLP             - primary documentation source.