Node:Logging In and Out,
Previous:XPG Functions,
Up:User Accounting Database
Logging In and Out
These functions, derived from BSD, are available in the separate
libutil
library, and declared in utmp.h
.
Note that the ut_user
member of struct utmp
is called
ut_name
in BSD. Therefore, ut_name
is defined as an alias
for ut_user
in utmp.h
.
int login_tty (int filedes)
|
Function |
This function makes filedes the controlling terminal of the
current process, redirects standard input, standard output and
standard error output to this terminal, and closes filedes.
This function returns 0 on successful completion, and -1
on error.
|
void login (const struct utmp *entry)
|
Function |
The login functions inserts an entry into the user accounting
database. The ut_line member is set to the name of the terminal
on standard input. If standard input is not a terminal login
uses standard output or standard error output to determine the name of
the terminal. If struct utmp has a ut_type member,
login sets it to USER_PROCESS , and if there is an
ut_pid member, it will be set to the process ID of the current
process. The remaining entries are copied from entry.
A copy of the entry is written to the user accounting log file.
|
int logout (const char *ut_line)
|
Function |
This function modifies the user accounting database to indicate that the
user on ut_line has logged out.
The logout function returns 1 if the entry was successfully
written to the database, or 0 on error.
|
void logwtmp (const char *ut_line, const char *ut_name, const char *ut_host)
|
Function |
The logwtmp function appends an entry to the user accounting log
file, for the current time and the information provided in the
ut_line, ut_name and ut_host arguments.
|
Portability Note: The BSD struct utmp
only has the
ut_line
, ut_name
, ut_host
and ut_time
members. Older systems do not even have the ut_host
member.