mirror of
https://github.com/sheumann/hush.git
synced 2024-11-09 02:09:01 +00:00
ab050f5522
functions. Add in simple implementations of these functions, which can, optionally, be used instead of the system versions. -Erik
48 lines
1.1 KiB
C
48 lines
1.1 KiB
C
#ifndef __BB_GRP_H
|
|
#define __BB_GRP_H
|
|
|
|
#if defined USE_SYSTEM_PWD_GRP
|
|
#include <grp.h>
|
|
#else
|
|
|
|
#define bb_setgrent setgrent
|
|
#define bb_endgrent endgrent
|
|
#define bb_getgrent getgrent
|
|
#define bb_getgrgid getgrgid
|
|
#define bb_getgrnam getgrnam
|
|
#define bb_fgetgrent fgetgrent
|
|
#define bb_setgroups setgroups
|
|
#define bb_initgroups initgroups
|
|
#define __bb_getgrent __getgrent
|
|
|
|
#include <sys/types.h>
|
|
#include <features.h>
|
|
#include <stdio.h>
|
|
|
|
/* The group structure */
|
|
struct group
|
|
{
|
|
char *gr_name; /* Group name. */
|
|
char *gr_passwd; /* Password. */
|
|
gid_t gr_gid; /* Group ID. */
|
|
char **gr_mem; /* Member list. */
|
|
};
|
|
|
|
extern void bb_setgrent __P ((void));
|
|
extern void bb_endgrent __P ((void));
|
|
extern struct group * bb_getgrent __P ((void));
|
|
|
|
extern struct group * bb_getgrgid __P ((__const gid_t gid));
|
|
extern struct group * bb_getgrnam __P ((__const char * name));
|
|
|
|
extern struct group * bb_fgetgrent __P ((FILE * file));
|
|
|
|
extern int bb_setgroups __P ((size_t n, __const gid_t * groups));
|
|
extern int bb_initgroups __P ((__const char * user, gid_t gid));
|
|
|
|
extern struct group * __bb_getgrent __P ((int grp_fd));
|
|
|
|
#endif /* USE_SYSTEM_PWD_GRP */
|
|
#endif /* __BB_GRP_H */
|
|
|