VMS Help
System Services, $SETPRV
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
Enables or disables specified privileges for the calling process.
Format
SYS$SETPRV [enbflg] ,[prvadr] ,[prmflg] ,[prvprv]
C Prototype
int sys$setprv (char enbflg, struct _generic_64 *prvadr, char
prmflg, struct _generic_64 *prvprv);
enbflg
OpenVMS usage:boolean
type: longword (unsigned)
access: read only
mechanism: by value
Indicator specifying whether the specified privileges are to be
enabled or disabled. The enbflg argument is a longword value.
The value 1 indicates that the privileges specified in the prvadr
argument are to be enabled. The value 0 (the default) indicates
that the privileges are to be disabled.
prvadr
OpenVMS usage:mask_privileges
type: quadword (unsigned)
access: read only
mechanism: by reference
Privileges to be enabled or disabled for the calling process. The
prvadr argument is the address of a quadword bit vector wherein
each bit corresponds to a privilege that is to be enabled or
disabled.
Each bit has a symbolic name. The $PRVDEF macro defines these
names. You form the bit vector by specifying the symbolic
name of each desired privilege in a logical OR operation. The
following table provides the symbolic name and description of
each privilege:
User
Privilege Symbolic Name Description
ACNT PRV$M_ACNT Create processes for which no
accounting is done
ALLSPOOL PRV$M_ALLSPOOL Allocate a spooled device
ALTPRI PRV$M_ALTPRI Set (alter) any process priority
AUDIT PRV$V_AUDIT Generate audit records
BUGCHK PRV$M_BUGCHK Make bugcheck error log entries
BYPASS PRV$M_BYPASS Bypass all protection
CMEXEC PRV$M_CMEXEC Change mode to executive
CMKRNL PRV$M_CMKRNL Change mode to kernel
DIAGNOSE PRV$M_DIAGNOSE Can diagnose devices
DOWNGRADE PRV$V_DOWNGRADE Can downgrade classification
EXQUOTA PRV$M_EXQUOTA Can exceed quotas
GROUP PRV$M_GROUP Group process control
GRPNAM PRV$M_GRPNAM Place name in group logical name
table
GRPPRV PRV$V_GRPPRV Group access by means of system
protection field
IMPERSONATE PRV$M_ Create detached processes under
IMPERSONATE another UIC
IMPORT PRV$V_IMPORT Mount a nonlabeled tape volume
LOG_IO PRV$M_LOG_IO Perform logical I/O operations
MOUNT PRV$M_MOUNT Issue mount volume QIO
NETMBX PRV$M_NETMBX Create a network device
OPER PRV$M_OPER All operator privileges
PFNMAP PRV$M_PFNMAP Map to section by physical page
frame number
PHY_IO PRV$M_PHY_IO Perform physical I/O operations
PRMCEB PRV$M_PRMCEB Create permanent common event flag
clusters
PRMGBL PRV$M_PRMGBL Create permanent global sections
PRMMBX PRV$M_PRMMBX Create permanent mailboxes
PSWAPM PRV$M_PSWAPM Change process swap mode
READALL PRV$V_READALL Possess read access to everything
SECURITY PRV$V_SECURITY Can perform security functions
SETPRV PRV$M_SETPRV Set any process privileges
SHARE PRV$M_SHARE Can assign a channel to a
nonshared device
SHMEM PRV$M_SHMEM Allocate structures in memory
shared by multiple processors
SYSGBL PRV$M_SYSGBL Create system global sections
SYSLCK PRV$M_SYSLCK Queue systemwide locks
SYSNAM PRV$M_SYSNAM Place name in system logical name
table
SYSPRV PRV$M_SYSPRV Access files and other resources
as if you have a system UIC
TMPMBX PRV$M_TMPMBX Create temporary mailboxes
UPGRADE PRV$V_UPGRADE Can upgrade classification
VOLPRO PRV$M_VOLPRO Override volume protection
WORLD PRV$M_WORLD World process control
If you do not specify prvadr or assign it the value 0, the
privileges are not altered.
prmflg
OpenVMS usage:boolean
type: longword (unsigned)
access: read only
mechanism: by value
Indicator specifying whether the privileges are to be affected
permanently or temporarily. The prmflg argument is a longword
value. The value 1 specifies that the privileges are to be
affected permanently, that is, until you change them again
by using $SETPRV or until the process is deleted. The value 0
(the default) specifies that the privileges are to be affected
temporarily, that is, until the current image exits (at which
time the permanently enabled privileges of the process will be
restored).
Setting the prmflg argument to nonzero changes privilege bits in
both the CURPRIV mask and the PROCPRIV mask.
prvprv
OpenVMS usage:mask_privileges
type: quadword (unsigned)
access: write only
mechanism: by reference
Privileges previously possessed by the calling process. The
prvprv argument is the address of a quadword bit vector wherein
each bit corresponds to a privilege that was previously either
enabled or disabled. If you do not specify prvprv or assign it
the value 0, the previous privilege mask is not returned.
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.