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.