/* grp.h: Group file parsing. */

#ifndef _GRP_H
#define _GRP_H

#include <sys/types.h>

struct group
{
    char* gr_name;
    char* gr_passwd;
    gid_t gr_gid;
    char** gr_mem;
};

#ifdef __cplusplus
extern "C"
{
#endif

    /* Read the next entry from the group file. */
    struct group* getgrent(void);

    /* Find the entry with a matching group name in the group file. */
    struct group* getgrnam(const char* name);

    /* Find the entry with a matching group ID in the group file. */
    struct group* getgrgid(gid_t gid);

    /* Rewind the group file. */
    void setgrent(void);

    /* End group file parsing. */
    void endgrent(void);

#ifdef __cplusplus
}
#endif

#endif