logout

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
LOGIN(3)		 Linux System Administration		     LOGIN(3)



NAME
       login, logout - write utmp and wtmp entries

SYNOPSIS
       #include <utmp.h>

       void login(const struct utmp *ut);
       int logout(const char *ut_line);

DESCRIPTION
       The  utmp  file	records	 who is currently using the system.  The wtmp
       file records all logins and logouts. See utmp(5).

       The function login() takes the supplied struct utmp ut, and writes  it
       to both utmp and wtmp file.

       The function logout() clears the entry in the utmp file again.

GNU DETAILS
       More  precisely, login() takes the argument ut struct, fills the field
       ut->ut_type (if there is such a field) with  the	 value	USER_PROCESS,
       and  fills  the	field  ut->ut_pid (if there is such a field) with the
       process ID of the calling process.  Then it tries to  fill  the	field
       ut->ut_line.   It  takes	 the first of stdin, stdout, stderr that is a
       tty, and stores the corresponding pathname minus	 a  possible  leading
       /dev/  into  this  field, and then writes the struct to the utmp file.
       On the other hand, if no tty name was found, this field is filled with
       "???"   and  the	 struct is not written to the utmp file.  After this,
       the struct is written to the wtmp file.

       The logout() function searches the utmp file for an entry matching the
       ut_line	argument.  If a record is found, it is updated by zeroing out
       the ut_name and ut_host fields, updating the ut_tv timestamp field and
       setting ut_type (if there is such a field) to DEAD_PROCESS.

RETURN VALUES
       The  logout() function returns 1 if the entry was successfully written
       to the database, or 0 if an error occurred.

NOTE
       These functions are included in libutil,	 hence	you’ll	need  to  add
       -lutil to your compiler commandline.

       Note  that the member ut_user of struct utmp is called ut_name in BSD.
       Therefore, ut_name is defined as an alias for ut_user in utmp.h.

FILES
       /var/run/utmp
	      user accounting  database,  configured  through  _PATH_UTMP  in
	      <paths.h>

       /var/log/wtmp
	      user  accounting	log  file,  configured	through _PATH_WTMP in
	      <paths.h>

SEE ALSO
       utmp(5), getutent(3)



GNU/Linux			  2004-05-06			     LOGIN(3)