?RCS: $Id: d_setregid.U 167 2013-05-08 17:58:00Z rmanfredi $ ?RCS: ?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi ?RCS: ?RCS: You may redistribute only under the terms of the Artistic License, ?RCS: as specified in the README file that comes with the distribution. ?RCS: You may reuse parts of this distribution only within the terms of ?RCS: that same Artistic License; a copy of which may be found at the root ?RCS: of the source tree for dist 4.0. ?RCS: ?RCS: $Log: d_setregid.U,v $ ?RCS: Revision 3.0 1993/08/18 12:07:12 ram ?RCS: Baseline for dist 3.0 netwide release. ?RCS: ?MAKE:d_setregid d_setresgid: Trylink cat i_unistd ?MAKE: -pick add $@ %< ?S:d_setregid: ?S: This variable conditionally defines HAS_SETREGID if setregid() is ?S: available to change the real and effective gid of the current ?S: process. ?S:. ?S:d_setresgid: ?S: This variable conditionally defines HAS_SETRESGID if setresgid() is ?S: available to change the real, effective and saved gid of the current ?S: process. ?S:. ?C:HAS_SETREGID (SETREGID): ?C: This symbol, if defined, indicates that the setregid routine is ?C: available to change the real and effective gid of the current ?C: process. ?C:. ?C:HAS_SETRESGID (SETRESGID): ?C: This symbol, if defined, indicates that the setresgid routine is ?C: available to change the real, effective and saved gid of the current ?C: process. ?C:. ?H:#$d_setregid HAS_SETREGID /**/ ?H:#$d_setresgid HAS_SETRESGID /**/ ?H:. ?LINT: set d_setregid d_setresgid : see if setregid exists $cat >try.c < #$i_unistd I_UNISTD #ifdef I_UNISTD #include #endif int main(void) { static int ret; static gid_t rgid, egid; ret |= setregid(rgid, egid); if (ret) return 1; return 0; } EOC cyn=setregid set d_setregid eval $trylink $cat >try.c < #endif int main(void) { static int ret; static gid_t rgid, egid, sgid; ret |= setresgid(rgid, egid, sgid); return ret ? 0 : 1; } EOC cyn=setresgid set d_setresgid eval $trylink