diff options
Diffstat (limited to 'usr/src/man/man3utempter')
-rw-r--r-- | usr/src/man/man3utempter/Makefile | 35 | ||||
-rw-r--r-- | usr/src/man/man3utempter/utempter_add_record.3utempter | 134 |
2 files changed, 169 insertions, 0 deletions
diff --git a/usr/src/man/man3utempter/Makefile b/usr/src/man/man3utempter/Makefile new file mode 100644 index 0000000000..a61f7696e6 --- /dev/null +++ b/usr/src/man/man3utempter/Makefile @@ -0,0 +1,35 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet +# at http://www.illumos.org/license/CDDL. +# + +include $(SRC)/Makefile.master + +MANSECT= 3utempter + +MANFILES= utempter_add_record.3utempter + +MANLINKS= addToUtmp.3utempter \ + removeFromUtmp.3utempter \ + removeLineFromUtmp.3utempter \ + utempter_remove_added_record.3utempter \ + utempter_remove_record.3utempter + + +addToUtmp.3utempter := LINKSRC = utempter_add_record.3utempter +removeFromUtmp.3utempter := LINKSRC = utempter_add_record.3utempter +removeLineFromUtmp.3utempter := LINKSRC = utempter_add_record.3utempter +utempter_remove_added_record.3utempter := LINKSRC = utempter_add_record.3utempter +utempter_remove_record.3utempter := LINKSRC = utempter_add_record.3utempter + +.KEEP_STATE: + +include $(SRC)/man/Makefile.man + +install: $(ROOTMANFILES) $(ROOTMANLINKS) diff --git a/usr/src/man/man3utempter/utempter_add_record.3utempter b/usr/src/man/man3utempter/utempter_add_record.3utempter new file mode 100644 index 0000000000..da6cbb7211 --- /dev/null +++ b/usr/src/man/man3utempter/utempter_add_record.3utempter @@ -0,0 +1,134 @@ +.\" Copyright (c) 2009 Ed Schouten <ed@FreeBSD.org> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" +.Dd May 5, 2020 +.Dt UTEMPTER_ADD_RECORD 3UTEMPTER +.Os +.Sh NAME +.Nm utempter_add_record , +.Nm utempter_remove_added_record , +.Nm utempter_remove_record , +.Nm addToUtmp , +.Nm removeFromUtmp , +.Nm removeLineFromUtmp +.Nd utempter compatibility interface +.Sh LIBRARY +.Lb libutempter +.Sh SYNOPSIS +.In utempter.h +.Ft int +.Fn utempter_add_record "int fd" "const char *host" +.Ft int +.Fn utempter_remove_added_record "void" +.Ft int +.Fn utempter_remove_record "int fd" +.Ft void +.Fn addToUtmp "const char *pty" "const char *host" "int fd" +.Ft void +.Fn removeFromUtmp "void" +.Ft void +.Fn removeLineFromUtmp "const char *pty" "int fd" +.Sh DESCRIPTION +These functions provide an interface for terminal emulators such as tmux, +screen, and xterm to record user sessions to +.Xr utmpx 4 +database. +Note that they are best effort and may not succeed. +If consumers need to know for certain that they have successfully updated the +.Xr utmpx 4 +database, these functions should not be used because they cannot communicate +that for compatibility reasons. +.Pp +The +.Fn utempter_add_record +and +.Fn addToUtmp +functions add a login record to the +.Xr utmpx 4 +database for the TTY belonging to the pseudo-terminal master file descriptor +.Fa fd , +using the username corresponding with the real user ID of the calling +process and the optional hostname +.Fa host , +limited to 256 characters, that is the size of +.Va ut_host +member of +.Vt struct utmpx +minus terminating NUL character. +.Pp +The +.Fn utempter_remove_record +and +.Fn removeLineFromUtmp +functions mark the login session as being closed for the TTY belonging +to the pseudo-terminal master file descriptor +.Fa fd . +.Pp +The +.Fn utempter_remove_added_record +and +.Fn removeFromUtmp +functions have the same properties as the previously mentioned +functions, except that they use an internally cached value of the file +descriptor passed to +.Fn utempter_add_record +and +.Fn addToUtmp . +.Pp +In this implementation, the +.Fa pty +arguments of +.Fn addToUtmp +and +.Fn removeLineFromUtmp +are ignored, and database entries are driven entirely by the +.Fa fd +argument. +.Sh RETURN VALUES +The +.Fn utempter_add_record , +.Fn utempter_remove_added_record +and +.Fn utempter_remove_record +functions always return a value of 0. +.Sh INTERFACE STABILITY +.Fn utempter_add_record , +.Fn utempter_remove_added_record , +and +.Fn utempter_remove_record +are +.Sy Committed . +.Fn addToUtmp , +.Fn removeFromUtmp , +and +.Fn removeLineFromUtmp +are +.Sy Obsolete Committed . +.Sh MT-LEVEL +.Sy Unsafe +.Sh SEE ALSO +.Xr pututxline 3c , +.Xr utmpx 3head , +.Xr utmpx 4 |