VMS Help
RTL Routines, LIB$, LIB$PARSE_SOGW_PROT
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
The Parse Protection String routine parses and translates a
protection string into a protection mask.
Format
LIB$PARSE_SOGW_PROT protection-string, [access-names],
protection-mask, ownership-mask,
[end-position]
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
protection-string
OpenVMS usage:char_string
type: character-coded text string
access: read only
mechanism: by descriptor
The address of a character-string descriptor pointing to the
protection string. The string components are:
o Ownership name - System,Owner,Group,World. Ownership names can
be specified in full or truncated to any number of characters.
Matching is case blind, and spacing is ignored.
o Access name - Access names are always abbreviated to one
letter. For example, access names for files are R (for
read), W (for write), E (for execute), and D (for delete).
Any combination can be passed. For example, RWE is a valid
combination. A null access name specification means no access.
o Separators - Access names are separated from ownership names
by either a colon (:) or an equal sign (=). The comma (,) is
the list separator. A null access name specification means no
access.
An example of a valid protection string is:
SYSTEM=RWED,OWNER:RWED,GROUP,WORLD:R
access-names
OpenVMS usage:access_names
type: array [0..31] of quadword string descriptor
access: read only
mechanism: by reference
The address of the access name table for the associated object
class. For example, it is the value returned by the LIB$GET_
ACCNAM routine in the accnam longword. This parameter is optional
and defaults to the access name table for the FILE object class.
protection-mask
OpenVMS usage:protection
type: word (unsigned)
access: write only
mechanism: by reference
The address of a word into which this routine writes a 16-bit
protection mask translation of the protection string. Each
bit set in the mask indicates no access for the access type it
represents.
ownership-mask
OpenVMS usage:mask_word
type: word (unsigned)
access: write only
mechanism: by reference
The address of a word that indicates which ownership names were
present in the protection string.
Ownership
Category Mask Value
System 0000000000001111
Owner 0000000011110000
Group 0000111100000000
World 1111000000000000
end-position
OpenVMS usage:word_signed
type: word (signed)
access: write only
mechanism: by reference
The number of characters from protection-string processed by
LIB$PARSE_SOGW_PROT. In the case of an error in parsing the
protection string, the offset to the offending location is
returned.
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.