$NetBSD$

--- include/grp_.h.orig	2006-12-27 05:56:18.000000000 +0100
+++ include/grp_.h	2007-01-13 11:29:10.000000000 +0100
@@ -97,7 +97,12 @@ extern int fgetgrent_r (FILE *__restrict
 			struct group **__restrict __result);
 
 /* Set the group set for the current user to GROUPS (N of them).  */
-extern int setgroups (size_t __n, __const gid_t *__groups);
+#if defined(__NetBSD__)
+#  define SETGROUPS_FIRSTPARAM_TYPE int
+#else
+#  define SETGROUPS_FIRSTPARAM_TYPE size_t
+#endif
+extern int setgroups (SETGROUPS_FIRSTPARAM_TYPE __n, __const gid_t *__groups);
 
 /* Store at most *NGROUPS members of the group set for USER into
    *GROUPS.  Also include GROUP.  The actual number of groups found is
