Annotation of 43BSDReno/lib/libc/string/strmode.3, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1990 The Regents of the University of California.
                      2: .\" All rights reserved.
                      3: .\"
                      4: .\" Redistribution and use in source and binary forms are permitted
                      5: .\" provided that: (1) source distributions retain this entire copyright
                      6: .\" notice and comment, and (2) distributions including binaries display
                      7: .\" the following acknowledgement:  ``This product includes software
                      8: .\" developed by the University of California, Berkeley and its contributors''
                      9: .\" in the documentation or other materials provided with the distribution
                     10: .\" and in all advertising materials mentioning features or use of this
                     11: .\" software. Neither the name of the University nor the names of its
                     12: .\" contributors may be used to endorse or promote products derived
                     13: .\" from this software without specific prior written permission.
                     14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
                     15: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
                     16: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     17: .\"
                     18: .\"    @(#)strmode.3   5.1 (Berkeley) 5/10/90
                     19: .\"
                     20: .TH STRMODE 3 "May 10, 1990"
                     21: .UC 7
                     22: .SH NAME
                     23: strmode \- convert inode status information into a symbolic string
                     24: .SH SYNOPSIS
                     25: .nf
                     26: .ft B
                     27: #include <string.h>
                     28: 
                     29: void
                     30: strmode(mode_t mode, char *bp);
                     31: .ft R
                     32: .fi
                     33: .SH DESCRIPTION
                     34: .I Strmode
                     35: converts a file
                     36: .I mode
                     37: (the type and permission information associated with an inode, see
                     38: .IR stat (2))
                     39: into a symbolic string which is stored in the location referenced by
                     40: .IR bp .
                     41: This stored string is eleven characters in length plus a trailing NULL.
                     42: .PP
                     43: The first character is the inode type, and will be one of the following:
                     44: .TP
                     45: \-
                     46: regular file
                     47: .br
                     48: .ns
                     49: .TP
                     50: b
                     51: block special
                     52: .br
                     53: .ns
                     54: .TP
                     55: c
                     56: character special
                     57: .br
                     58: .ns
                     59: .TP
                     60: d
                     61: directory
                     62: .br
                     63: .ns
                     64: .TP
                     65: l
                     66: symbolic link
                     67: .br
                     68: .ns
                     69: .TP
                     70: p
                     71: fifo
                     72: .br
                     73: .ns
                     74: .TP
                     75: s
                     76: socket
                     77: .br
                     78: .ns
                     79: .TP
                     80: ?
                     81: unknown inode type
                     82: .PP
                     83: The next nine characters encode three sets of permissions, in three
                     84: characters each.
                     85: The first three characters are the permissions for the owner of the
                     86: file, the second three for the group the file belongs to, and the
                     87: third for the ``other'', or default, set of users.
                     88: .PP
                     89: Permission checking is done as specifically as possible.
                     90: If read permission is denied to the owner of a file in the first set
                     91: of permssions, the owner of the file will not be able to read the file.
                     92: This is true even if the owner is in the file's group and the group
                     93: permissions allow reading or the ``other'' permissions allow reading.
                     94: .PP
                     95: If the first character of the three character set is an ``r'', the file is
                     96: readable for that set of users; if a dash ``\-'', it is not readable.
                     97: .PP
                     98: If the second character of the three character set is a ``w'', the file is
                     99: writable for that set of users; if a dash ``\-'', it is not writable.
                    100: .PP
                    101: The third character is the first of the following characters that apply:
                    102: .TP
                    103: S
                    104: If the character is part of the owner permissions and the file is not
                    105: executable or the directory is not searchable, by the owner, and the
                    106: set-user-id bit is set.
                    107: .TP
                    108: S
                    109: If the character is part of the group permissions and the file is not
                    110: executable or the directory is not searchable, by the group, and the
                    111: set-group-id bit is set.
                    112: .TP
                    113: T
                    114: If the character is part of the other permissions and the file is not
                    115: executable or the directory is not searchable, by others, and the ``sticky''
                    116: (S_ISVTX) bit is set.
                    117: .TP
                    118: s
                    119: If the character is part of the owner permissions and the file is
                    120: executable or the directory searchable, by the owner, and the set-user-id
                    121: bit is set.
                    122: .TP
                    123: s
                    124: If the character is part of the group permissions and the file is
                    125: executable or the directory searchable, by the group, and the set-group-id
                    126: bit is set.
                    127: .TP
                    128: t
                    129: If the character is part of the other permissions and the file is
                    130: executable or the directory searchable, by others, and the ``sticky''
                    131: (S_ISVTX) bit is set.
                    132: .TP
                    133: x
                    134: The file is executable or the directory is searchable.
                    135: .TP
                    136: \-
                    137: None of the above apply.
                    138: .PP
                    139: The last character is a plus sign ``+'' if any there are any alternate
                    140: or additional access control methods associated with the inode, otherwise
                    141: it will be a space.
                    142: .SH RETURN VALUE
                    143: .I Strmode
                    144: always returns 0.
                    145: .SH SEE ALSO
                    146: chmod(1), find(1), stat(2), getmode(3), setmode(3)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.