[comp.os.vms] PRV$M_SETPRI

PJS@GROUCH.JPL.NASA.GOV (Peter Scott) (06/16/88)

not the same as either ALTPRI or SETPRV.  I haven't found this discussed
anywhere.  Can someone tell me what it is for, please?

Peter Scott (pjs%grouch@jpl-mil.jpl.nasa.gov)

carl@CITHEX.CALTECH.EDU (Carl J Lydick) (06/24/88)

 > SYS$LIBRARY: PRVDEF.H defines a privilege mask bit PRV$M_SETPRI.  It is
 > not the same as either ALTPRI or SETPRV.  I haven't found this discussed
 > anywhere.  Can someone tell me what it is for, please?

The following four lines are extracted from SYS$SHARE:PRVDEF.H:
	#define PRV$M_ALTPRI	0x00002000
	#define PRV$M_SETPRI	0x00002000
	#define PRV$V_ALTPRI	0x0D
	#define PRV$V_SETPRI    0x0D
So PRV$SETPRI and PRV$ALTPRI are the same. We're running VMS v4.7, VAX C
v2.3-024.

ijah400%ivax.DECnet@GOLD.BACS.INDIANA.EDU ("IVAX::IJAH400") (07/10/88)

Peter Scott (PJS%GROUCH@JPL-MIL.JPL.NASA.GOV) writes about PRV$M_SETPRI:
< not the same as either ALTPRI or SETPRV.  I haven't found this discussed
< anywhere.  Can someone tell me what it is for, please?

Sure they are.  STARLET.REQ for VMS 4.x contains the following lines:

literal PRV$M_SETPRI = 8192;
literal PRV$M_ALTPRI = 8192;
macro PRV$V_SETPRI = 0,13,1,0 %;        !  MAY SET ANY PRIORITY VALUE
macro PRV$V_ALTPRI = 0,13,1,0 %;        !  MAY SET ANY PRIORITY VALE (SETPRI)

So, PRV$M_SETPRI is just another name for the ALTPRI privilege bit.  This
appears to be "historical" (somebody at Digital decided to change the name).
Now I have a question.  In writing a recent application, I stumbled across
four undocumented privilege bits that the SYSTEM account has.  These are:

UPGRADE
DOWNGRADE
TMPJNL
PRMJNL

UPGRADE and DOWNGRADE are both listed in STARLET.REQ, they are bits 0 and
1 in the second privilege longword.  These are described as "may
up(down)grade classification".  AUTHORIZE seems to know about these too;
at least it will let you give them to a user, but it won't list them out
with SHOW.  I can't find anything on TMPJNL and PRMJNL anywhere, except
that the SYS$SETPRV documentation describes them (they aren't mentioned
at all in the table in the DCL Concepts Manual).  LIB$GETJPI returns
them (when reading the AUTHPRIV mask of a process logged in as SYSTEM as a
string) as SPARE1 and SPARE2 (which was what was screwing up my application).
Do these have anything to do with transaction processing?  And what's a
"classification"?

	James A. Harvey
	ijah400@indyvax (bitnet) or ijah400%ivax.decnet@gold.bacs.indiana.edu

RAD@VAX02.AMS.COM (RichDeJordy@GIZMO.SRI.COM,@KL.SRI.COM:info-vax-RELAY@KL.SRI.COM, (07/18/88)

Eric,

	Whatever they may have been for, DEC decided to get rid of them.
	On page A-2 of the "Obsolete Features Manual" of the Version 5
	documentation, they state "The TMPJNL and PRMJNL privileges were
	never used by VAX/VMS and have been removed."
-------