|
Lines 63-70
struct logininfo {
Link Here
|
| 63 |
char progname[LINFO_PROGSIZE]; /* name of program (for PAM) */ |
63 |
char progname[LINFO_PROGSIZE]; /* name of program (for PAM) */ |
| 64 |
int progname_null; |
64 |
int progname_null; |
| 65 |
short int type; /* type of login (LTYPE_*) */ |
65 |
short int type; /* type of login (LTYPE_*) */ |
| 66 |
int pid; /* PID of login process */ |
66 |
pid_t pid; /* PID of login process */ |
| 67 |
int uid; /* UID of this user */ |
67 |
uid_t uid; /* UID of this user */ |
| 68 |
char line[LINFO_LINESIZE]; /* tty/pty name */ |
68 |
char line[LINFO_LINESIZE]; /* tty/pty name */ |
| 69 |
char username[LINFO_NAMESIZE]; /* login username */ |
69 |
char username[LINFO_NAMESIZE]; /* login username */ |
| 70 |
char hostname[LINFO_HOSTSIZE]; /* remote hostname */ |
70 |
char hostname[LINFO_HOSTSIZE]; /* remote hostname */ |
|
Lines 86-97
struct logininfo {
Link Here
|
| 86 |
/** 'public' functions */ |
86 |
/** 'public' functions */ |
| 87 |
|
87 |
|
| 88 |
/* construct a new login entry */ |
88 |
/* construct a new login entry */ |
| 89 |
struct logininfo *login_alloc_entry(int pid, const char *username, |
89 |
struct logininfo *login_alloc_entry(pid_t pid, const char *username, |
| 90 |
const char *hostname, const char *line); |
90 |
const char *hostname, const char *line); |
| 91 |
/* free a structure */ |
91 |
/* free a structure */ |
| 92 |
void login_free_entry(struct logininfo *li); |
92 |
void login_free_entry(struct logininfo *li); |
| 93 |
/* fill out a pre-allocated structure with useful information */ |
93 |
/* fill out a pre-allocated structure with useful information */ |
| 94 |
int login_init_entry(struct logininfo *li, int pid, const char *username, |
94 |
int login_init_entry(struct logininfo *li, pid_t pid, const char *username, |
| 95 |
const char *hostname, const char *line); |
95 |
const char *hostname, const char *line); |
| 96 |
/* place the current time in a logininfo struct */ |
96 |
/* place the current time in a logininfo struct */ |
| 97 |
void login_set_current_time(struct logininfo *li); |
97 |
void login_set_current_time(struct logininfo *li); |
|
Lines 117-125
void login_set_addr(struct logininfo *li
Link Here
|
| 117 |
* lastlog retrieval functions |
117 |
* lastlog retrieval functions |
| 118 |
*/ |
118 |
*/ |
| 119 |
/* lastlog *entry* functions fill out a logininfo */ |
119 |
/* lastlog *entry* functions fill out a logininfo */ |
| 120 |
struct logininfo *login_get_lastlog(struct logininfo *li, const int uid); |
120 |
struct logininfo *login_get_lastlog(struct logininfo *li, const uid_t uid); |
| 121 |
/* lastlog *time* functions return time_t equivalent (uint) */ |
121 |
/* lastlog *time* functions return time_t equivalent (uint) */ |
| 122 |
unsigned int login_get_lastlog_time(const int uid); |
122 |
unsigned int login_get_lastlog_time(const uid_t uid); |
| 123 |
|
123 |
|
| 124 |
/* produce various forms of the line filename */ |
124 |
/* produce various forms of the line filename */ |
| 125 |
char *line_fullname(char *dst, const char *src, u_int dstsize); |
125 |
char *line_fullname(char *dst, const char *src, u_int dstsize); |