1.\" Copyright (c) 2009 Ed Schouten <ed@FreeBSD.org> 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.Dd October 11, 2010 26.Dt ULOG_LOGIN 3 27.Os 28.Sh NAME 29.Nm ulog_login , 30.Nm ulog_login_pseudo , 31.Nm ulog_logout , 32.Nm ulog_logout_pseudo 33.Nd manage user login records 34.Sh LIBRARY 35.Lb libulog 36.Sh SYNOPSIS 37.In ulog.h 38.Ft void 39.Fn ulog_login "const char *line" "const char *user" "const char *host" 40.Ft void 41.Fn ulog_login_pseudo "int fd" "const char *host" 42.Ft void 43.Fn ulog_logout "const char *line" 44.Ft void 45.Fn ulog_logout_pseudo "int fd" 46.Sh DESCRIPTION 47The 48.Fn ulog_login 49and 50.Fn ulog_login_pseudo 51functions register a login session on a TTY. 52The 53.Fn ulog_login 54function adds an entry for TTY 55.Fa line 56and username 57.Fa user . 58The 59.Fn ulog_login_pseudo 60function uses file descriptor to a pseudo-terminal master device 61.Fa fd 62to determine the TTY name, while using the username belonging to the 63real user ID of the calling process. 64The optional 65.Fa host 66argument denotes a remote hostname, in case the login session is 67provided by a network service. 68.Pp 69The 70.Fn ulog_logout 71and 72.Fn ulog_logout_pseudo 73functions mark the previously registered login session as being 74terminated. 75.Pp 76Because the 77.Fa line 78and 79.Fa user 80arguments of 81.Fn ulog_login 82and 83.Fn ulog_logout 84cannot be trusted, these functions require administrative privileges. 85The 86.Fn ulog_login_pseudo 87and 88.Fn ulog_logout_pseudo 89functions spawn a privileged process to perform the actual logging. 90.Sh SEE ALSO 91.Xr getuid 2 , 92.Xr posix_openpt 2 , 93.Xr ptsname 3 , 94.Xr pututxline 3 95.Sh HISTORY 96These functions appeared in 97.Fx 9.0 . 98