#ifndef BB_SHADOW_H
#define BB_SHADOW_H 1
-#if __GNUC_PREREQ(4,1)
-# pragma GCC visibility push(hidden)
-#endif
-
-/* This file is #included after #include <shadow.h>
- * We will use libc-defined structures, but will #define function names
- * so that function calls are directed to bb_internal_XXX replacements
- */
+PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN
+
+/* Structure of the password file */
+struct spwd {
+ char *sp_namp; /* Login name */
+ char *sp_pwdp; /* Encrypted password */
+ long sp_lstchg; /* Date of last change */
+ long sp_min; /* Minimum number of days between changes */
+ long sp_max; /* Maximum number of days between changes */
+ long sp_warn; /* Number of days to warn user to change the password */
+ long sp_inact; /* Number of days the account may be inactive */
+ long sp_expire; /* Number of days since 1970-01-01 until account expires */
+ unsigned long sp_flag; /* Reserved */
+};
/* Paths to the user database files */
#ifndef _PATH_SHADOW
/* Unlock password file */
extern int ulckpwdf(void);
-#if __GNUC_PREREQ(4,1)
-# pragma GCC visibility pop
-#endif
+POP_SAVED_FUNCTION_VISIBILITY
#endif /* shadow.h */