#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include <features.h>
#define __NEED_size_t
#define __NEED_uid_t
#define __NEED_gid_t
#ifdef _GNU_SOURCE
#define __NEED_FILE
#endif
#include <bits/alltypes.h>
struct passwd {
char* pw_name;
char* pw_passwd;
uid_t pw_uid;
gid_t pw_gid;
char* pw_gecos;
char* pw_dir;
char* pw_shell;
};
void setpwent(void);
void endpwent(void);
struct passwd* getpwent(void);
struct passwd* getpwuid(uid_t);
struct passwd* getpwnam(const char*);
int getpwuid_r(uid_t, struct passwd*, char*, size_t, struct passwd**);
int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**);
#ifdef _GNU_SOURCE
struct passwd* fgetpwent(FILE*);
int putpwent(const struct passwd*, FILE*);
#endif
#ifdef __cplusplus
}
#endif