VMS Help  —  RTL Routines, LIB$  LIB$PARSE_SOGW_PROT
    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]

1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

2  –  Arguments

 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.
Close Help