The prototype I gave for initgroups() which was documented in the AIX 4.1 info
[mmh] / uip / slocal.c
index a306cad..e5f35c0 100644 (file)
 #include <pwd.h>
 #include <signal.h>
 #include <sys/ioctl.h>
-#include <ndbm.h>
 #include <fcntl.h>
 
+#include <grp.h>     /* initgroups() is here on Solaris 2.6 */
+#include <unistd.h>  /* initgroups() is here on HP-UX 10.20 */
+
+/* On AIX 4.1, initgroups() is defined and even documented (giving the parameter
+   types as "char*" and "int"), but doesn't have a prototype in any of the
+   system header files.  On other OSes, this should be a duplicate prototype
+   that won't cause any errors or warnings. */
+extern int  initgroups(const char*, gid_t);
+
+#ifdef HAVE_DB1_NDBM_H
+#include <db1/ndbm.h>
+#else
+#include <ndbm.h>
+#endif
+
 #include <utmp.h>
 
 #ifndef UTMP_FILE