ons, 23,.02.2005 kl. 11.12 -0500, skrev Jakub Jelinek:
On Wed, Feb 23, 2005 at 05:06:07PM +0100, Kjartan Maraas wrote:
> Hi.
>
> It looks like this function moved? The man page says:
>
> SYNOPSIS
> #include <sys/types.h>
> #include <unistd.h>
>
> but it seems like it's really living in <grp.h>:
>
> [kmaraas@localhost xpl]$ grep setgroups /usr/include/*.h
> /usr/include/grp.h:extern int setgroups (size_t __n, __const __gid_t
> *__groups) __THROW;
>
> What's the right way of getting at this function? Preferrably in a way
> that works with other distros/OSes?
You haven't read the man page carefully:
SYNOPSIS
#include <sys/types.h>
#include <unistd.h>
int getgroups(int size, gid_t list[]);
#include <grp.h>
int setgroups(size_t size, const gid_t *list);
I.e. for getgroups you need sys/types.h and unistd.h and for setgroups
also grp.h.
Indeed, sorry for being a bit quick on the trigger.
Cheers
Kjartan