[mod.computers.vax] SYS$SETPRV

ted@MITRE-BEDFORD.ARPA (07/09/86)

Has anyone had any   success using SYS$SETPRV to  alter   an installed
image's privileges.   When  I first tried   to use  it I  received  an
Undefined Symbol error while LINKing regarding the external mask I was
trying to reference.   I found the symbol definitions  in  STARLET.MLB
and put them in my library.  The program  now links just  fine,  but I
get an Access Violation  when I try to  turn off BYPASS privilege from
an  image that  is installed  with  it.  Any   help  would be  greatly
appreciated.
					--ted
Ted Ede
ted@mitre-bedford.arpa

02335@UWAV4.BITNET (07/12/86)

Subj:   RE:  SYS$SETPRV

>Has anyone had any   success using SYS$SETPRV to  alter   an installed
>image's privileges.   When  I first tried   to use  it I  received  an
>Undefined Symbol error while LINKing regarding the external mask I was
>trying to reference.   I found the symbol definitions  in  STARLET.MLB
>and put them in my library.  The program  now links just  fine,  but I
>get an Access Violation  when I try to  turn off BYPASS privilege from
>an  image that  is installed  with  it.  Any   help  would be  greatly
>appreciated.
>                    --ted
>Ted Ede
>ted@mitre-bedford.arpa

========================================================================
        .
        .
        .

      Integer*4  image_priv(2),         ! quadword for privilege mask
     -           istat,                 ! integer status variable
     -           SYS$Setprv,            ! Set privileges
        .
        .
        .

*     Delete the DETACH privilege until needed for shutdown.
*     Also delete the SYSPRV privilege until needed for logging.

      image_priv(1) = '10000020'x
      image_priv(2) = 0

      istat = SYS$Setprv (,image_priv,,)
      if (.not.istat)  call SYS$Exit (%val(istat))
        .
        .
        .

Here is what I do for a program that is installed with DETACH, OPER and
SYSPRV.  I leave the OPER on and turn off DETACH and SYSPRV.  I later
turn them back when they are needed.  This has always worked fine and
is safer than leaving the privileges on if they are not needed.

I believe the mask to turn BYPASS off is:

      image_priv(1) = '20000000'x
      image_priv(2) = 0

Good luck,
Tony Andrea
Sierra Geophysics, Inc.

BITNET:      02335 at UWAV4
ARPA/CSNET:  02335%uwav4.bitnet@wiscvm.arpa