Import /etc/shadow support from Musl for Linux

Fixes #992
This commit is contained in:
Justine Tunney 2023-12-07 16:26:04 -08:00
parent 06ace4e7b4
commit f8ea02d4d1
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
9 changed files with 224 additions and 7 deletions

34
third_party/musl/shadow.h vendored Normal file
View file

@ -0,0 +1,34 @@
#ifndef COSMOPOLITAN_THIRD_PARTY_MUSL_SHADOW_H_
#define COSMOPOLITAN_THIRD_PARTY_MUSL_SHADOW_H_
#include "libc/stdio/internal.h"
COSMOPOLITAN_C_START_
#define SHADOW "/etc/shadow"
struct spwd {
char *sp_namp;
char *sp_pwdp;
long sp_lstchg;
long sp_min;
long sp_max;
long sp_warn;
long sp_inact;
long sp_expire;
unsigned long sp_flag;
};
void setspent(void);
void endspent(void);
struct spwd *getspent(void);
struct spwd *fgetspent(FILE *);
struct spwd *sgetspent(const char *);
int putspent(const struct spwd *, FILE *);
struct spwd *getspnam(const char *);
int getspnam_r(const char *, struct spwd *, char *, size_t, struct spwd **);
int lckpwdf(void);
int ulckpwdf(void);
COSMOPOLITAN_C_END_
#endif /* COSMOPOLITAN_THIRD_PARTY_MUSL_SHADOW_H_ */