From e83323c4635dd40a0b7c4260b6cbbac12005772e Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Fri, 14 Aug 2020 16:56:59 -0400 Subject: add internal state for --- src/grp/_grp.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/grp/_grp.h (limited to 'src/grp/_grp.h') diff --git a/src/grp/_grp.h b/src/grp/_grp.h new file mode 100644 index 00000000..e3a15be4 --- /dev/null +++ b/src/grp/_grp.h @@ -0,0 +1,32 @@ +#ifndef ___GRP_H__ +#define ___GRP_H__ + +#include +#include +#include + +#define MAX_MEMBERS 128 + +struct __grp { + FILE *db; + struct group grp; + struct group * (*getgrent)(void); + char *members[MAX_MEMBERS]; +}; + +extern struct __grp __grp; + +#ifndef _XOPEN_SOURCE +#define setgrent() (__grp.db == NULL ? (void)0 : (void)rewind(__grp.db)) + +#define endgrent() do { \ + if (__grp.db) { \ + fclose(__grp.db); \ + __grp.db = NULL; \ + } \ +} while (0) + +#define getgrent __grp.getgrent +#endif + +#endif -- cgit v1.2.1