]> granicus.if.org Git - shadow/blobdiff - lib/prototypes.h
updated to 360t71f. Thanks to Leandro Azevedo <leorock182@gmail.com>.
[shadow] / lib / prototypes.h
index 41ae332bf344251e17e02f0c67aed7f73fe0ea57..b116b37226116c88328d1666b3f7117e38bfeb38 100644 (file)
@@ -1,15 +1,10 @@
 /*
  * prototypes.h
  *
- * Missing function prototypes
+ * prototypes of libmisc functions, and private lib functions.
  *
- * Juha Virtanen, <jiivee@hut.fi>; November 1995
- */
-/*
- * $Id: prototypes.h,v 1.18 2005/04/06 03:01:07 kloczek Exp $
+ * $Id$
  *
- * Added a macro to work around ancient (non-ANSI) compilers, just in case
- * someone ever tries to compile this with SunOS cc...  --marekm
  */
 
 #ifndef _PROTOTYPES_H
 #endif
 #include <pwd.h>
 #include <grp.h>
+#include <shadow.h>
+#include <lastlog.h>
 
 #include "defines.h"
+#include "commonio.h"
 
 /* addgrps.c */
 extern int add_groups (const char *);
 extern void add_cons_grps (void);
 
 /* age.c */
-#ifdef SHADOWPWD
 extern void agecheck (const struct passwd *, const struct spwd *);
 extern int expire (const struct passwd *, const struct spwd *);
 extern int isexpired (const struct passwd *, const struct spwd *);
-#else
-extern void agecheck (const struct passwd *);
-extern int expire (const struct passwd *);
-extern int isexpired (const struct passwd *);
-#endif
 
 /* basename() renamed to Basename() to avoid libc name space confusion */
 /* basename.c */
 extern char *Basename (char *str);
 
-/* chkshell.c */
-extern int check_shell (const char *);
-
 /* chowndir.c */
 extern int chown_tree (const char *, uid_t, uid_t, gid_t, gid_t);
 
@@ -56,11 +45,11 @@ extern void chown_tty (const char *, const struct passwd *);
 
 /* console.c */
 extern int console (const char *);
-extern int is_listed (const char *, const char *, int);
 
 /* copydir.c */
-extern int copy_tree (const char *, const char *, uid_t, gid_t);
-extern int remove_tree (const char *);
+extern int copy_tree (const char *src_root, const char *dst_root,
+                      long int uid, long int gid);
+extern int remove_tree (const char *root);
 
 /* encrypt.c */
 extern char *pw_encrypt (const char *, const char *);
@@ -78,36 +67,37 @@ extern void sanitize_env (void);
 extern void change_field (char *, size_t, const char *);
 extern int valid_field (const char *, const char *);
 
+/* find_new_ids.c */
+extern int find_new_uid (int sys_user, uid_t *uid, uid_t const *preferred_uid);
+extern int find_new_gid (int sys_group, gid_t *gid, gid_t const *preferred_gid);
+
+/* getlong.c */
+extern int getlong(const char *numstr, long int *result);
+
 /* fputsx.c */
 extern char *fgetsx (char *, int, FILE *);
 extern int fputsx (const char *, FILE *);
 
-/* grdbm.c */
-extern int gr_dbm_remove (const struct group *);
-extern int gr_dbm_update (const struct group *);
-extern int gr_dbm_present (void);
-
-/* grent.c */
-extern int putgrent (const struct group *, FILE *);
-
-/* grpack.c */
-extern int gr_pack (const struct group *, char *);
-extern int gr_unpack (char *, int, struct group *);
+/* groupio.c */
+extern void __gr_del_entry (const struct commonio_entry *ent);
+extern struct commonio_db *__gr_get_db (void);
+extern struct commonio_entry *__gr_get_head (void);
+extern void __gr_set_changed (void);
 
-#ifdef SHADOWGRP
-/* gsdbm.c */
-extern int sg_dbm_remove (const char *);
-extern int sg_dbm_update (const struct sgrp *);
-extern int sg_dbm_present (void);
-
-/* gspack.c */
-extern int sgr_pack (const struct sgrp *, char *);
-extern int sgr_unpack (char *, int, struct sgrp *);
-#endif
+/* groupmem.c */
+extern struct group *__gr_dup (const struct group *grent);
 
 /* hushed.c */
 extern int hushed (const struct passwd *);
 
+/* audit_help.c */
+#ifdef WITH_AUDIT
+extern int audit_fd;
+extern void audit_help_open (void);
+extern void audit_logger (int type, const char *pgname, const char *op,
+                         const char *name, unsigned int id, int result);
+#endif
+
 /* limits.c */
 extern void setup_limits (const struct passwd *);
 
@@ -118,7 +108,16 @@ extern char **dup_list (char *const *);
 extern int is_on_list (char *const *, const char *);
 extern char **comma_to_list (const char *);
 
-/* login.c */
+/* log.c */
+extern void dolastlog (struct lastlog *ll,
+                       const struct passwd *pw,
+                       const char *line,
+                       const char *host);
+
+/* login_nopam.c */
+extern int login_access (const char *user, const char *from);
+
+/* loginprompt.c */
 extern void login_prompt (const char *, char *, int);
 
 /* mail.c */
@@ -134,15 +133,13 @@ extern struct passwd *get_my_pwent (void);
 extern int obscure (const char *, const char *, const struct passwd *);
 
 /* pam_pass.c */
-extern int do_pam_passwd (const char *, int, int);
+extern void do_pam_passwd (const char *, int, int);
 
 /* port.c */
 extern int isttytime (const char *, const char *, time_t);
 
 /* pwd2spwd.c */
-#ifdef SHADOWPWD
 extern struct spwd *pwd_to_spwd (const struct passwd *);
-#endif
 
 /* pwdcheck.c */
 extern void passwd_check (const char *, const char *, const char *);
@@ -150,20 +147,19 @@ extern void passwd_check (const char *, const char *, const char *);
 /* pwd_init.c */
 extern void pwd_init (void);
 
-/* pwdbm.c */
-extern int pw_dbm_remove (const struct passwd *);
-extern int pw_dbm_update (const struct passwd *);
-extern int pw_dbm_present (void);
+/* pwio.c */
+extern void __pw_del_entry (const struct commonio_entry *ent);
+extern struct commonio_db *__pw_get_db (void);
+extern struct commonio_entry *__pw_get_head (void);
 
-/* pwpack.c */
-extern int pw_pack (const struct passwd *, char *);
-extern int pw_unpack (char *, int, struct passwd *);
+/* pwmem.c */
+extern struct passwd *__pw_dup (const struct passwd *pwent);
 
 /* rlogin.c */
 extern int do_rlogin (const char *, char *, int, char *, int);
 
 /* salt.c */
-extern char *crypt_make_salt (void);
+extern char *crypt_make_salt (const char *meth, void *arg);
 
 /* setugid.c */
 extern int setup_groups (const struct passwd *);
@@ -176,25 +172,33 @@ extern void setup (struct passwd *);
 /* setupenv.c */
 extern void setup_env (struct passwd *);
 
-/* shell.c */
-extern void shell (const char *, const char *);
+/* sgetgrent.c */
+extern struct group *sgetgrent (const char *buf);
 
-#ifdef SHADOWPWD
-/* spdbm.c */
-extern int sp_dbm_remove (const char *);
-extern int sp_dbm_update (const struct spwd *);
-extern int sp_dbm_present (void);
+/* sgetpwent.c */
+extern struct passwd *sgetpwent (const char *buf);
 
-/* sppack.c */
-extern int spw_pack (const struct spwd *, char *);
-extern int spw_unpack (char *, int, struct spwd *);
-#endif
+/* sgroupio.c */
+extern void __sgr_del_entry (const struct commonio_entry *ent);
+extern struct sgrp *__sgr_dup (const struct sgrp *sgent);
+extern struct commonio_entry *__sgr_get_head (void);
+extern void __sgr_set_changed (void);
+
+/* shadowio.c */
+extern struct commonio_entry *__spw_get_head (void);
+extern void __spw_del_entry (const struct commonio_entry *ent);
+
+/* shadowmem.c */
+extern struct spwd *__spw_dup (const struct spwd *spent);
+
+/* shell.c */
+extern int shell (const char *, const char *, char *const *);
 
 /* strtoday.c */
 extern long strtoday (const char *);
 
 /* suauth.c */
-extern int check_su_auth (const char *, const char *);
+extern int check_su_auth (const char *actual_id, const char *wanted_id);
 
 /* sulog.c */
 extern void sulog (const char *, int, const char *, const char *);
@@ -222,4 +226,18 @@ extern int valid (const char *, const struct passwd *);
 extern char *xmalloc (size_t);
 extern char *xstrdup (const char *);
 
+/* xgetpwnam.c */
+extern struct passwd *xgetpwnam (const char *);
+/* xgetpwuid.c */
+extern struct passwd *xgetpwuid (uid_t);
+/* xgetgrnam.c */
+extern struct group *xgetgrnam (const char *);
+/* xgetgrgid.c */
+extern struct group *xgetgrgid (gid_t);
+/* xgetspnam.c */
+extern struct spwd *xgetspnam(const char *);
+
+/* yesno.c */
+extern int yes_or_no (int read_only);
+
 #endif                         /* _PROTOTYPES_H */