void login(const struct utmp *entry); int logout(const char *ut_line);
ОПИСАНИЕ
Функция
login()
добавляет новую запись в базу учетных записей пользователей (файл utmp).
Элемент
ut->ut_line
будет установлен в имя терминала на стандартном входе.
Если это не терминал, то
login()
будет использовать стандартный вывод или поток стандартных ошибок для
определения имени терминала. Элемент
ut->ut_type
будет установлен в
USER_PROCESS,
а
ut->ut_pid
будет установлен в идентификатор ID вызывающего процессаw.
Все оставшиесмя элементы будут скопированы из
entry.
Копия полученного
entry
записывается в файл журнала учетных записей.
Функция
logout()
изменяет базу учетных записей пользователей для отображения, что
пользователь на терминале
ut_line
разрегистрировался.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Функция
logout()
возвращает 1, если элемент был успешно записан в базу, или 0 в случае ошибок.
ЗАМЕЧАНИЯ
Эти функции включены в libutil, так как требуется добавлять
-lutil
в командную строку вашего комплятора.
Заметим, что член
ut_user
структуры struct utmp
в BSD называется
ut_name.
Тем не менее,
ut_name
определяется как псевдоним для
ut_user
в
utmp.h.
ФАЙЛЫ
/var/run/utmp
база учетных записей пользователей, настраивается через _PATH_UTMP в
<paths.h>