F.INIT - initialize permissions on a UMC.

Usage:

perms = f.init( owner [, who] );

Where:

owner
is a pointer to a two-character BCD userid naming the owner of the UMC in question.
who
is a pointer to a two-character BCD userid naming the user who is looking. If not supplied or zero, this defaults to "&.uid".

Description:

F.INIT checks the userid against F.USER (the list of special userids) to determine if there are any special implicit permissions. In addition, it gives a user implicit execute permissions if he is attempting to examine his own catalog structure.

Permissions:

The permission word returned is of the form used throughout the FMS functions. Its lower half contains the FMS permissions which have been accumulated; these can be referenced by their FMS manifest names, e.g. .HREDB for Read permissions.

Note that it includes .HSPPB (bit 34) indicating that specific permissions for the user who is looking have been found. If this bit is set, F.CHKPERM will ignore general permissions.

The upper half contains various informational bits listed below.

Bit 17
The current catalog block is security-locked. Note that this bit is also the Exclude bit (.HXCLB) in the upper half of the word.
Bit 15
The current catalog level has a non-null password or a time-lock password.
Bit 14
The originator is the same person as the "looker".

Copyright © 1996, Thinkage Ltd.