S_ISGID
fs->st_mode & ~(S_ISTXT | S_ISUID | S_ISGID));
(S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO)
fs->st_mode & (S_ISUID | S_ISGID) && fs->st_uid == myuid) {
fs->st_mode &= S_ISTXT | S_ISUID | S_ISGID | S_IRWXU | S_IRWXG | S_IRWXO;
fs->st_mode &= ~(S_ISTXT | S_ISUID | S_ISGID);
(b1.st_mode & S_ISGID) == S_ISGID;
if ((mode & (S_ISUID | S_ISGID | S_ISTXT)) == 0) {
fs->st_mode & ~(S_ISTXT | S_ISUID | S_ISGID));
fs->st_mode &= S_ISTXT | S_ISUID | S_ISGID | S_IRWXU | S_IRWXG | S_IRWXO;
fs->st_mode &= ~(S_ISTXT | S_ISUID | S_ISGID);
(void) fchmod(to_fd, sbp->st_mode & ~(S_ISUID|S_ISGID));
if ((sbp->st_mode & (S_ISUID|S_ISGID))) {
sbp->st_mode &= ~(S_ISUID|S_ISGID);
#define SETBITS (S_ISUID | S_ISGID)
i = S_ISGID;
#define STANDARD_BITS (S_ISUID|S_ISGID|S_IRWXU|S_IRWXG|S_IRWXO)
who |= S_ISGID|S_IRWXG;
perm |= S_ISUID|S_ISGID;
case S_ISGID:
case S_IXGRP | S_ISGID:
switch (mode & (S_IXGRP | S_ISGID)) {
lsrwx(sb->st_mode >> 3, (sb->st_mode & S_ISGID? "sS" : "x-"));
lsrwx(sb->st_mode >> 3, (sb->st_mode & S_ISGID? "sS" : "x-"));
lsrwx(sb->st_mode >> 3, (sb->st_mode & S_ISGID? "sS" : "x-"));
lsrwx(sb->st_mode >> 3, (sb->st_mode & S_ISGID? "sS" : "x-"));
#define ALLPERMS (S_ISUID|S_ISGID|S_ISTXT|S_IRWXU|S_IRWXG|S_IRWXO)
if (!groupmember(node->tn_gid, cred) && (mode & S_ISGID))
fs->st_mode &= ~(S_ISUID|S_ISGID);
(S_ISUID|S_ISGID|S_ISTXT|S_IRWXU|S_IRWXG|S_IRWXO);
if (mode != -1 && IS_ON(mode, S_ISGID)) {
mode &= ~S_ISGID;
if (mode != -1 && IS_ON(mode, S_ISGID)) {
mode &= ~S_ISGID;
if (mode != -1 && IS_ON(mode, S_ISGID)) {
mode &= ~S_ISGID;
mode &= ~(S_ISTXT | S_ISUID | S_ISGID);
mode &= ~(S_ISTXT | S_ISUID | S_ISGID);
#define FILEMODEMASK (S_ISUID|S_ISGID|S_IRWXU|S_IRWXG|S_IRWXO)
#define MBITS (S_ISUID|S_ISGID|S_ISTXT|S_IRWXU|S_IRWXG|S_IRWXO)