Fix for broken handling off BusyBox's own pwd/grp implementations
[people/mcb30/busybox.git] / include / shadow.h
1 /*
2  * Copyright 1988 - 1994, Julianne Frances Haugh <jockgrrl@austin.rr.com>
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  * 3. Neither the name of Julianne F. Haugh nor the names of its contributors
14  *    may be used to endorse or promote products derived from this software
15  *    without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
18  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20  * ARE DISCLAIMED.  IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
21  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27  * SUCH DAMAGE.
28  */
29
30 #ifndef __CONFIG_SHADOW_H
31 #define __CONFIG_SHADOW_H
32
33 #if !defined CONFIG_USE_BB_SHADOW
34 #include_next <shadow.h>
35
36 #else
37
38 /*
39  * This information is not derived from AT&T licensed sources.  Posted
40  * to the USENET 11/88, and updated 11/90 with information from SVR4.
41  *
42  *      $Id: shadow.h,v 1.1 2002/06/04 20:10:10 sandman Exp $
43  */
44
45 typedef long sptime;
46
47 /*
48  * Shadow password security file structure.
49  */
50
51 struct spwd {
52         char *sp_namp;                          /* login name */
53         char *sp_pwdp;                          /* encrypted password */
54         sptime sp_lstchg;                       /* date of last change */
55         sptime sp_min;                          /* minimum number of days between changes */
56         sptime sp_max;                          /* maximum number of days between changes */
57         sptime sp_warn;                         /* number of days of warning before password
58                                                                    expires */
59         sptime sp_inact;                        /* number of days after password expires
60                                                                    until the account becomes unusable. */
61         sptime sp_expire;                       /* days since 1/1/70 until account expires */
62         unsigned long sp_flag;          /* reserved for future use */
63 };
64
65 /*
66  * Shadow password security file functions.
67  */
68
69 #include <stdio.h>                              /* for FILE */
70
71 struct spwd *getspent(void);
72 struct spwd *sgetspent(const char *);
73 struct spwd *fgetspent(FILE *);
74 void setspent(void);
75 void endspent(void);
76 int putspent(const struct spwd *, FILE *);
77 struct spwd *getspnam(const char *name);
78
79 #endif                                                  /* CONFIG_USE_BB_SHADOW */
80
81 #endif                                                  /* __CONFIG_SHADOW_H */