1570af302Sopenharmony_ci#ifndef _SHADOW_H
2570af302Sopenharmony_ci#define _SHADOW_H
3570af302Sopenharmony_ci
4570af302Sopenharmony_ci#ifdef __cplusplus
5570af302Sopenharmony_ciextern "C" {
6570af302Sopenharmony_ci#endif
7570af302Sopenharmony_ci
8570af302Sopenharmony_ci#define	__NEED_FILE
9570af302Sopenharmony_ci#define __NEED_size_t
10570af302Sopenharmony_ci
11570af302Sopenharmony_ci#include <bits/alltypes.h>
12570af302Sopenharmony_ci
13570af302Sopenharmony_ci#define	SHADOW "/etc/shadow"
14570af302Sopenharmony_ci
15570af302Sopenharmony_cistruct spwd {
16570af302Sopenharmony_ci	char *sp_namp;
17570af302Sopenharmony_ci	char *sp_pwdp;
18570af302Sopenharmony_ci	long sp_lstchg;
19570af302Sopenharmony_ci	long sp_min;
20570af302Sopenharmony_ci	long sp_max;
21570af302Sopenharmony_ci	long sp_warn;
22570af302Sopenharmony_ci	long sp_inact;
23570af302Sopenharmony_ci	long sp_expire;
24570af302Sopenharmony_ci	unsigned long sp_flag;
25570af302Sopenharmony_ci};
26570af302Sopenharmony_ci
27570af302Sopenharmony_civoid setspent(void);
28570af302Sopenharmony_civoid endspent(void);
29570af302Sopenharmony_cistruct spwd *getspent(void);
30570af302Sopenharmony_cistruct spwd *fgetspent(FILE *);
31570af302Sopenharmony_cistruct spwd *sgetspent(const char *);
32570af302Sopenharmony_ciint putspent(const struct spwd *, FILE *);
33570af302Sopenharmony_ci
34570af302Sopenharmony_cistruct spwd *getspnam(const char *);
35570af302Sopenharmony_ciint getspnam_r(const char *, struct spwd *, char *, size_t, struct spwd **);
36570af302Sopenharmony_ci
37570af302Sopenharmony_ciint lckpwdf(void);
38570af302Sopenharmony_ciint ulckpwdf(void);
39570af302Sopenharmony_ci
40570af302Sopenharmony_ci#ifdef __cplusplus
41570af302Sopenharmony_ci}
42570af302Sopenharmony_ci#endif
43570af302Sopenharmony_ci
44570af302Sopenharmony_ci#endif
45