ACLM_$UP Domain/OS ACLM_$UP
NAME
aclm_$up - assert subsystem manager rights
SYNOPSIS (C)
#include <apollo/base.h>
#include <apollo/aclm.h>
void aclm_$up(void)
SYNOPSIS (Pascal)
%include '/sys/ins/base.ins.pas';
%include '/sys/ins/aclm.ins.pas';
procedure aclm_$up;
SYNOPSIS (FORTRAN)
%include '/sys/ins/base.ins.ftn'
%include '/sys/ins/aclm.ins.ftn'
call aclm_$up
DESCRIPTION
Aclm_$up asserts a process' rights to access an object in a protected
subsystem until a corresponding call to aclm_$down is made. Even a sub-
system manager, which has the right to gain access to the protected
objects, must call aclm_$up to assert its rights before it can actually
use a protected object. Calling aclm_$down deasserts a process' rights
to a subsystem.
A program should activate its rights as a subsystem manager for the
minimum amount of time it will need them by using aclm_$up and aclm_$down
to bracket high-level statements or functions for which privileged access
is needed. This ensures against inadvertent use of protected objects.
Calling aclm_$up increments a counter in a process; calling aclm_$down
decrements it. Subsystem manager operations are enabled whenever the
counter is nonzero.
Calling aclm_$up obtains all the subsystem rights to which a process is
entitled. If a program that is not a subsystem manager calls aclm_$up,
it produces no effect, but does not return an error. Likewise, calling
aclm_$down when subsystem manager rights are already deasserted has no
effect.