haiku/headers/posix/shadow.h

55 lines
1.4 KiB
C

/*
* Copyright 2008-2012 Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _SHADOW_H_
#define _SHADOW_H_
#include <stddef.h>
#include <stdio.h>
struct spwd {
char* sp_namp; /* login name */
char* sp_pwdp; /* encrypted password */
int sp_lstchg; /* date of last change (days since 1970) */
int sp_min; /* min days between password changes */
int sp_max; /* max days between password changes */
int sp_warn; /* days to warn before password expired */
int sp_inact; /* days of inactivity until account expiration */
int sp_expire; /* date when the account expires (days since 1970) */
int sp_flag; /* unused */
};
#ifdef __cplusplus
extern "C" {
#endif
extern struct spwd* getspent(void);
extern int getspent_r(struct spwd* spwd, char* buffer, size_t bufferSize,
struct spwd** _result);
extern void setspent(void);
extern void endspent(void);
extern struct spwd* getspnam(const char* name);
extern int getspnam_r(const char* name, struct spwd* spwd, char* buffer,
size_t bufferSize, struct spwd** _result);
extern struct spwd* sgetspent(const char* line);
extern int sgetspent_r(const char* line, struct spwd *spwd, char *buffer,
size_t bufferSize, struct spwd** _result);
extern struct spwd* fgetspent(FILE* file);
extern int fgetspent_r(FILE* file, struct spwd* spwd, char* buffer,
size_t bufferSize, struct spwd** _result);
#ifdef __cplusplus
}
#endif
#endif /* _SHADOW_H_ */