]> git.saurik.com Git - apple/libc.git/blob - gen/NetBSD/getlastlogx.3
Libc-583.tar.gz
[apple/libc.git] / gen / NetBSD / getlastlogx.3
1 .\" $NetBSD: getlastlogx.3,v 1.1 2003/08/26 17:37:51 wiz Exp $
2 .\"
3 .\" Copyright (c) 2003 The NetBSD Foundation, Inc.
4 .\" All rights reserved.
5 .\"
6 .\" This code is derived from software contributed to The NetBSD Foundation
7 .\" by Thomas Klausner.
8 .\"
9 .\" Redistribution and use in source and binary forms, with or without
10 .\" modification, are permitted provided that the following conditions
11 .\" are met:
12 .\" 1. Redistributions of source code must retain the above copyright
13 .\" notice, this list of conditions and the following disclaimer.
14 .\" 2. Redistributions in binary form must reproduce the above copyright
15 .\" notice, this list of conditions and the following disclaimer in the
16 .\" documentation and/or other materials provided with the distribution.
17 .\" 3. All advertising materials mentioning features or use of this software
18 .\" must display the following acknowledgement:
19 .\" This product includes software developed by the NetBSD
20 .\" Foundation, Inc. and its contributors.
21 .\" 4. Neither the name of The NetBSD Foundation nor the names of its
22 .\" contributors may be used to endorse or promote products derived
23 .\" from this software without specific prior written permission.
24 .\"
25 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
26 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
27 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28 .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
29 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 .\" POSSIBILITY OF SUCH DAMAGE.
36 .\"
37 .Dd August 26, 2003
38 .Dt GETLASTLOGX 3
39 .Os
40 .Sh NAME
41 .Nm getlastlogx ,
42 .Nm getutmp ,
43 .Nm getutmpx ,
44 .Nm updlastlogx ,
45 .Nm updwtmpx ,
46 .Nm utmpxname
47 .Nd user accounting database functions
48 .Sh LIBRARY
49 .Lb libc
50 .Sh SYNOPSIS
51 .In utmpx.h
52 .Ft struct lastlogx *
53 .Fn getlastlogx "const char *fname" "uid_t uid" "struct lastlogx *ll"
54 .Ft void
55 .Fn getutmp "const struct utmpx *ux" "struct utmp *u"
56 .Ft void
57 .Fn getutmpx "const struct utmp *u" "struct utmpx *ux"
58 .Ft int
59 .Fn updlastlogx "const char *fname" "uid_t uid" "struct lastlogx *ll"
60 .Ft int
61 .Fn updwtmpx "const char *file" "const struct utmpx *utx"
62 .Ft int
63 .Fn utmpxname "const char *fname"
64 .Sh DESCRIPTION
65 The
66 .Fn getlastlogx
67 function looks up the entry for the user with user id
68 .Fa uid
69 in the
70 .Xr lastlogx 5
71 file given by
72 .Fa fname
73 and returns it in
74 .Fa \&ll .
75 If the provided
76 .Fa \&ll
77 is
78 .Dv NULL ,
79 the necessary space will be allocated by
80 .Fn getlastlogx
81 and should be
82 .Fn free Ns d
83 by the caller.
84 .Pp
85 The
86 .Fn getutmp
87 function fills out the entries in the struct utmp
88 .Fa u
89 with the data provided in the struct utmpx
90 .Fa ux .
91 .Fn getutmpx
92 does the opposite, filling out the entries in the struct utmpx
93 .Fa ux
94 with the data provided in the struct utmp
95 .Fa u ,
96 and initializing all the unknown fields to 0.
97 The sole exception is the
98 .Fa ut_type
99 field, which will be initialized to
100 .Dv USER_PROCESS .
101 .Pp
102 The
103 .Fn updlastlogx
104 function tries to update the information for the user with the user id
105 .Fa uid
106 in the
107 .Xr lastlogx 5
108 file given by
109 .Fa fname
110 with the data supplied in
111 .Fa \&ll .
112 A
113 .Ft struct lastlogx
114 is defined like this:
115 .Bd -literal
116 struct lastlogx {
117 struct timeval ll_tv; /* time entry was created */
118 char ll_line[_UTX_LINESIZE]; /* tty name */
119 char ll_host[_UTX_HOSTSIZE]; /* host name */
120 struct sockaddr_storage ll_ss; /* address where entry was made from */
121 };
122 .Ed
123 All the fields should be filled out by the caller.
124 .Pp
125 The
126 .Fn updwtmpx
127 function updates the
128 .Xr wtmpx 5
129 file
130 .Fa file
131 with the
132 .Xr utmpx 5
133 entry
134 .Fa utx .
135 .Pp
136 The
137 .Fn utmpxname
138 function sets the default
139 .Xr utmpx 5
140 database file name to
141 .Fa fname .
142 .Sh RETURN VALUES
143 .Fn getlastlogx
144 returns the found entry on success, or
145 .Dv NULL
146 if it could not open the database, could not find an entry matching
147 .Fa uid
148 in there, or could not allocate the necessary space (in case
149 .Fa \&ll
150 was
151 .Dv NULL ) .
152 .Pp
153 .Fn utmpxname
154 returns 1 on success, or 0 if the supplied file name was too long or
155 did not end with
156 .Sq x .
157 .Pp
158 .Fn updlastlogx
159 and
160 .Fn updwtmpx
161 return 0 on success, or \-1 in case the database or file respectively
162 could not be opened or the data not written into it.
163 .Sh SEE ALSO
164 .Xr endutxent 3 ,
165 .Xr loginx 3 ,
166 .Xr utmpx 5
167 .Sh HISTORY
168 The functions
169 .Fn getutmp ,
170 .Fn getutmpx ,
171 .Fn updwtmpx ,
172 and
173 .Fn utmpxname
174 first appeared in
175 .Tn Solaris .
176 .Nm getlastlogx
177 and
178 .Nm updlastlogx
179 first appeared in
180 .Nx 2.0 .