ULOG_LOGIN(3)

NAME
ulog_login, ulog_login_pseudo, ulog_logout, ulog_logout_pseudo - manage user login records

LIBRARY
libulog

SYNOPSIS
#include <ulog.h>
void
ulog_login(const char *line, const char *user, const char *host);
void
ulog_login_pseudo(int fd, const char *host);
void
ulog_logout(const char *line);
void
ulog_logout_pseudo(int fd);

DESCRIPTION
The ulog_login() and ulog_login_pseudo() functions register a login session on a TTY. The ulog_login() function adds an entry for TTY line and username user. The ulog_login_pseudo() function uses file descriptor to a pseudo-terminal master device fd to determine the TTY name, while using the username belonging to the real user ID of the calling process. The optional host argument denotes a remote hostname, in case the login session is provided by a network service.

The ulog_logout() and ulog_logout_pseudo() functions mark the previously registered login session as being terminated.

Because the line and user arguments of ulog_login() and ulog_logout() cannot be trusted, these functions require administrative privileges. The ulog_login_pseudo() and ulog_logout_pseudo() functions spawn a privileged process to perform the actual logging.

SEE ALSO
getuid(2), posix_openpt(2), ptsname(3), pututxline(3)

HISTORY
These functions appeared in FreeBSD 9.0.