3 .ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
4 .if !
\a\\$4
\a\a .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
7 .ie
\a\\$3
\a\a .ft \\$1
11 .Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
16 .aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
19 .aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
22 .aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
24 .de EX \" start example
41 strperm \- evaluate file permission expression
43 .L "int strperm(char* s, char** e, int p)"
46 applies a file permission expression in the nul-terminated string
48 to the initial file permission mask
50 The new permission mask is returned.
55 is set to point to the first unrecognized character in
58 A tape device specification is composed of one or more
63 selects portions of the permission bits and may be any combination of:
66 the user permission bits;
69 the group permission bits;
72 the `other' permission bits;
77 If omitted, all permission bits are selected.
79 specifies how the original permission
87 the new bits are set in
91 the new bits are cleared in
95 the new bits are and'd with
101 are set equal to the new bits
103 A permission expression term may also be an octal number.
104 Octal specifications are inherently non-portable.
107 for an explanation of this form.
109 chmod(1), ls(1), strmode(3)