Annotation of 43BSDReno/lib/libc/string/strmode.3, revision 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.