32 |
|
#define MAXLOGNAME 17 |
33 |
|
#endif |
34 |
|
|
35 |
+ |
typedef struct |
36 |
+ |
{ |
37 |
+ |
const char *name; |
38 |
+ |
char *freebsd, *linux, *darwin, *solaris; |
39 |
+ |
} |
40 |
+ |
Shells; |
41 |
+ |
|
42 |
+ |
typedef enum { sh, csh, tcsh, bash, ksh, zsh, _3sh, custom } Shell; |
43 |
+ |
|
44 |
+ |
extern Shells shells[]; |
45 |
+ |
|
46 |
|
int check(int value, jmp_buf environment); |
47 |
|
int regcheck(int value, const regex_t *regex, jmp_buf environment); |
48 |
|
char *fcheck(char *value, FILE *stream, jmp_buf environment); |
50 |
|
void getpassword(char password[_PASSWORD_LEN], jmp_buf environment); |
51 |
|
void putpassword(char password[_PASSWORD_LEN], char *name, jmp_buf environment); |
52 |
|
void get(const char *prompt, regex_t *regex, char **string, jmp_buf environment); |
53 |
+ |
void setshells(Shells *shells, jmp_buf environment); |
54 |
|
|
55 |
|
#ifndef __FreeBSD__ |
56 |
|
size_t strlcpy(char *dst, const char *src, size_t size); |