X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Fgrp.h;h=27e8c5e6c67260deaed574cd91e5c865ef82320f;hb=0ab97350f01b42de0f9fd811ee08653169661859;hp=d4a3526a50936239d00ad66cde5873c7ce3d4f9a;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01;p=musl diff --git a/include/grp.h b/include/grp.h index d4a3526a..27e8c5e6 100644 --- a/include/grp.h +++ b/include/grp.h @@ -5,13 +5,18 @@ extern "C" { #endif +#include + #define __NEED_size_t #define __NEED_gid_t +#ifdef _GNU_SOURCE +#define __NEED_FILE +#endif + #include -struct group -{ +struct group { char *gr_name; char *gr_passwd; gid_t gr_gid; @@ -24,9 +29,22 @@ struct group *getgrnam(const char *); int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **); int getgrnam_r(const char *, struct group *, char *, size_t, struct group **); +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) struct group *getgrent(void); void endgrent(void); void setgrent(void); +#endif + +#ifdef _GNU_SOURCE +struct group *fgetgrent(FILE *); +int putgrent(const struct group *, FILE *); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int getgrouplist(const char *, gid_t, gid_t *, int *); +int setgroups(size_t, const gid_t *); +int initgroups(const char *, gid_t); +#endif #ifdef __cplusplus }