You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
949 B
52 lines
949 B
4 months ago
|
#ifndef SYSROOT_GRP_H_
|
||
|
#define SYSROOT_GRP_H_
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#include <features.h>
|
||
|
|
||
|
#define __NEED_size_t
|
||
|
#define __NEED_gid_t
|
||
|
|
||
|
#ifdef _GNU_SOURCE
|
||
|
#define __NEED_FILE
|
||
|
#endif
|
||
|
|
||
|
#include <bits/alltypes.h>
|
||
|
|
||
|
struct group {
|
||
|
char* gr_name;
|
||
|
char* gr_passwd;
|
||
|
gid_t gr_gid;
|
||
|
char** gr_mem;
|
||
|
};
|
||
|
|
||
|
struct group* getgrgid(gid_t);
|
||
|
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**);
|
||
|
|
||
|
struct group* getgrent(void);
|
||
|
void endgrent(void);
|
||
|
void setgrent(void);
|
||
|
|
||
|
#ifdef _GNU_SOURCE
|
||
|
struct group* fgetgrent(FILE* stream);
|
||
|
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
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif // SYSROOT_GRP_H_
|