]> granicus.if.org Git - shadow/blob - lib/prototypes.h
updated to 360t71f. Thanks to Leandro Azevedo <leorock182@gmail.com>.
[shadow] / lib / prototypes.h
1 /*
2  * prototypes.h
3  *
4  * prototypes of libmisc functions, and private lib functions.
5  *
6  * $Id$
7  *
8  */
9
10 #ifndef _PROTOTYPES_H
11 #define _PROTOTYPES_H
12
13 #include <sys/stat.h>
14 #if HAVE_UTMPX_H
15 #include <utmpx.h>
16 #else
17 #include <utmp.h>
18 #endif
19 #include <pwd.h>
20 #include <grp.h>
21 #include <shadow.h>
22 #include <lastlog.h>
23
24 #include "defines.h"
25 #include "commonio.h"
26
27 /* addgrps.c */
28 extern int add_groups (const char *);
29 extern void add_cons_grps (void);
30
31 /* age.c */
32 extern void agecheck (const struct passwd *, const struct spwd *);
33 extern int expire (const struct passwd *, const struct spwd *);
34 extern int isexpired (const struct passwd *, const struct spwd *);
35
36 /* basename() renamed to Basename() to avoid libc name space confusion */
37 /* basename.c */
38 extern char *Basename (char *str);
39
40 /* chowndir.c */
41 extern int chown_tree (const char *, uid_t, uid_t, gid_t, gid_t);
42
43 /* chowntty.c */
44 extern void chown_tty (const char *, const struct passwd *);
45
46 /* console.c */
47 extern int console (const char *);
48
49 /* copydir.c */
50 extern int copy_tree (const char *src_root, const char *dst_root,
51                       long int uid, long int gid);
52 extern int remove_tree (const char *root);
53
54 /* encrypt.c */
55 extern char *pw_encrypt (const char *, const char *);
56
57 /* entry.c */
58 extern void pw_entry (const char *, struct passwd *);
59
60 /* env.c */
61 extern void addenv (const char *, const char *);
62 extern void initenv (void);
63 extern void set_env (int, char *const *);
64 extern void sanitize_env (void);
65
66 /* fields.c */
67 extern void change_field (char *, size_t, const char *);
68 extern int valid_field (const char *, const char *);
69
70 /* find_new_ids.c */
71 extern int find_new_uid (int sys_user, uid_t *uid, uid_t const *preferred_uid);
72 extern int find_new_gid (int sys_group, gid_t *gid, gid_t const *preferred_gid);
73
74 /* getlong.c */
75 extern int getlong(const char *numstr, long int *result);
76
77 /* fputsx.c */
78 extern char *fgetsx (char *, int, FILE *);
79 extern int fputsx (const char *, FILE *);
80
81 /* groupio.c */
82 extern void __gr_del_entry (const struct commonio_entry *ent);
83 extern struct commonio_db *__gr_get_db (void);
84 extern struct commonio_entry *__gr_get_head (void);
85 extern void __gr_set_changed (void);
86
87 /* groupmem.c */
88 extern struct group *__gr_dup (const struct group *grent);
89
90 /* hushed.c */
91 extern int hushed (const struct passwd *);
92
93 /* audit_help.c */
94 #ifdef WITH_AUDIT
95 extern int audit_fd;
96 extern void audit_help_open (void);
97 extern void audit_logger (int type, const char *pgname, const char *op,
98                           const char *name, unsigned int id, int result);
99 #endif
100
101 /* limits.c */
102 extern void setup_limits (const struct passwd *);
103
104 /* list.c */
105 extern char **add_list (char **, const char *);
106 extern char **del_list (char **, const char *);
107 extern char **dup_list (char *const *);
108 extern int is_on_list (char *const *, const char *);
109 extern char **comma_to_list (const char *);
110
111 /* log.c */
112 extern void dolastlog (struct lastlog *ll,
113                        const struct passwd *pw,
114                        const char *line,
115                        const char *host);
116
117 /* login_nopam.c */
118 extern int login_access (const char *user, const char *from);
119
120 /* loginprompt.c */
121 extern void login_prompt (const char *, char *, int);
122
123 /* mail.c */
124 extern void mailcheck (void);
125
126 /* motd.c */
127 extern void motd (void);
128
129 /* myname.c */
130 extern struct passwd *get_my_pwent (void);
131
132 /* obscure.c */
133 extern int obscure (const char *, const char *, const struct passwd *);
134
135 /* pam_pass.c */
136 extern void do_pam_passwd (const char *, int, int);
137
138 /* port.c */
139 extern int isttytime (const char *, const char *, time_t);
140
141 /* pwd2spwd.c */
142 extern struct spwd *pwd_to_spwd (const struct passwd *);
143
144 /* pwdcheck.c */
145 extern void passwd_check (const char *, const char *, const char *);
146
147 /* pwd_init.c */
148 extern void pwd_init (void);
149
150 /* pwio.c */
151 extern void __pw_del_entry (const struct commonio_entry *ent);
152 extern struct commonio_db *__pw_get_db (void);
153 extern struct commonio_entry *__pw_get_head (void);
154
155 /* pwmem.c */
156 extern struct passwd *__pw_dup (const struct passwd *pwent);
157
158 /* rlogin.c */
159 extern int do_rlogin (const char *, char *, int, char *, int);
160
161 /* salt.c */
162 extern char *crypt_make_salt (const char *meth, void *arg);
163
164 /* setugid.c */
165 extern int setup_groups (const struct passwd *);
166 extern int change_uid (const struct passwd *);
167 extern int setup_uid_gid (const struct passwd *, int);
168
169 /* setup.c */
170 extern void setup (struct passwd *);
171
172 /* setupenv.c */
173 extern void setup_env (struct passwd *);
174
175 /* sgetgrent.c */
176 extern struct group *sgetgrent (const char *buf);
177
178 /* sgetpwent.c */
179 extern struct passwd *sgetpwent (const char *buf);
180
181 /* sgroupio.c */
182 extern void __sgr_del_entry (const struct commonio_entry *ent);
183 extern struct sgrp *__sgr_dup (const struct sgrp *sgent);
184 extern struct commonio_entry *__sgr_get_head (void);
185 extern void __sgr_set_changed (void);
186
187 /* shadowio.c */
188 extern struct commonio_entry *__spw_get_head (void);
189 extern void __spw_del_entry (const struct commonio_entry *ent);
190
191 /* shadowmem.c */
192 extern struct spwd *__spw_dup (const struct spwd *spent);
193
194 /* shell.c */
195 extern int shell (const char *, const char *, char *const *);
196
197 /* strtoday.c */
198 extern long strtoday (const char *);
199
200 /* suauth.c */
201 extern int check_su_auth (const char *actual_id, const char *wanted_id);
202
203 /* sulog.c */
204 extern void sulog (const char *, int, const char *, const char *);
205
206 /* sub.c */
207 extern void subsystem (const struct passwd *);
208
209 /* ttytype.c */
210 extern void ttytype (const char *);
211
212 /* tz.c */
213 extern char *tz (const char *);
214
215 /* ulimit.c */
216 extern void set_filesize_limit (int);
217
218 /* utmp.c */
219 extern void checkutmp (int);
220 extern void setutmp (const char *, const char *, const char *);
221
222 /* valid.c */
223 extern int valid (const char *, const struct passwd *);
224
225 /* xmalloc.c */
226 extern char *xmalloc (size_t);
227 extern char *xstrdup (const char *);
228
229 /* xgetpwnam.c */
230 extern struct passwd *xgetpwnam (const char *);
231 /* xgetpwuid.c */
232 extern struct passwd *xgetpwuid (uid_t);
233 /* xgetgrnam.c */
234 extern struct group *xgetgrnam (const char *);
235 /* xgetgrgid.c */
236 extern struct group *xgetgrgid (gid_t);
237 /* xgetspnam.c */
238 extern struct spwd *xgetspnam(const char *);
239
240 /* yesno.c */
241 extern int yes_or_no (int read_only);
242
243 #endif                          /* _PROTOTYPES_H */