extern int nrules;
extern int parse_errors;
-char **prepenv(const struct rule *);
+extern const char *formerpath;
+
+struct passwd;
+
+char **prepenv(const struct rule *, const struct passwd *,
+ const struct passwd *);
#define PERMIT 1
#define DENY 2
#define NOPASS 0x1
#define KEEPENV 0x2
#define PERSIST 0x4
+#define NOLOG 0x8
+
+#ifdef USE_PAM
+void pamauth(const char *, const char *, int, int, int);
+#endif
+
+#ifdef USE_SHADOW
+void shadowauth(const char *, int);
+#endif
+
+#ifdef USE_TIMESTAMP
+int timestamp_open(int *, int);
+int timestamp_set(int, int);
+int timestamp_clear(void);
+#endif