aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/include/nsss/grp.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/include/nsss/grp.h b/src/include/nsss/grp.h
index 001a98e..134b200 100644
--- a/src/include/nsss/grp.h
+++ b/src/include/nsss/grp.h
@@ -70,9 +70,19 @@ extern "C" {
*/
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_DEFAULT_SOURCE)
+
#include <sys/types.h>
-extern int setgroups (size_t, gid_t const *) ;
+
extern int initgroups (char const *, gid_t) ;
+
+ /* guess who has a different definition of setgroups() from everyone else */
+
+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__) || defined(__DragonFly__)
+extern int setgroups (int, gid_t const *) ;
+#else
+extern int setgroups (size_t, gid_t const *) ;
+#endif
+
#endif
#ifdef _GNU_SOURCE