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