]> git.saurik.com Git - apple/libc.git/blob - gen/NetBSD/getlastlogx.3
Libc-1158.20.4.tar.gz
[apple/libc.git] / gen / NetBSD / getlastlogx.3
1 .\" $NetBSD: getlastlogx.3,v 1.2 2008/04/30 13:10:50 martin 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 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 .\" POSSIBILITY OF SUCH DAMAGE.
29 .\"
30 .Dd Dec 26, 2005
31 .Dt GETLASTLOGX 3
32 .Os
33 .Sh NAME
34 .Nm getlastlogx ,
35 .Nm getlastlogxbyname ,
36 .Nm getutmp ,
37 .Nm getutmpx ,
38 .Nm utmpxname
39 .Nd user accounting database functions
40 .Sh SYNOPSIS
41 .In utmpx.h
42 .Ft struct lastlogx *
43 .Fn getlastlogx "uid_t uid" "struct lastlogx *ll"
44 .Ft struct lastlogx *
45 .Fn getlastlogxbyname "const char *name" "struct lastlogx *ll"
46 .Ft void
47 .Fn getutmp "const struct utmpx *ux" "struct utmp *u"
48 .Ft void
49 .Fn getutmpx "const struct utmp *u" "struct utmpx *ux"
50 .Ft int
51 .Fn utmpxname "const char *fname"
52 .Sh DESCRIPTION
53 The
54 .Fn getlastlogx
55 function looks up the entry for the user with user id
56 .Fa uid
57 and returns it in
58 .Fa \&ll .
59 If the provided
60 .Fa \&ll
61 is
62 .Dv NULL ,
63 the necessary space will be allocated by
64 .Fn getlastlogx
65 and should be
66 .Fn free Ns d
67 by the caller.
68 The
69 .Fn getlastlogxbyname
70 function is similar to
71 .Fn getlastlogx ,
72 except the user name is passed.
73 .Pp
74 .Fn getutmp
75 function fills out the entries in the struct utmp
76 .Fa u
77 with the data provided in the struct utmpx
78 .Fa ux .
79 .Fn getutmpx
80 does the opposite, filling out the entries in the struct utmpx
81 .Fa ux
82 with the data provided in the struct utmp
83 .Fa u ,
84 and initializing all the unknown fields to 0.
85 The sole exception is the
86 .Fa ut_type
87 field, which will be initialized to
88 .Dv USER_PROCESS .
89 .Pp
90 A
91 .Ft struct lastlogx
92 is defined like this:
93 .Bd -literal
94 struct lastlogx {
95 struct timeval ll_tv; /* time entry was created */
96 char ll_line[_UTX_LINESIZE]; /* tty name */
97 char ll_host[_UTX_HOSTSIZE]; /* host name */
98 };
99 .Ed
100 .Pp
101 The
102 .Fn utmpxname
103 function sets the default
104 .Xr utmpx 5
105 database file name to
106 .Fa fname .
107 .Sh RETURN VALUES
108 .Fn getlastlogx
109 and
110 .Fn getlastlogxbyname
111 return the found entry on success, or
112 .Dv NULL
113 if it could not open the database, could not find an entry matching
114 .Fa uid
115 or
116 .Fa name ,
117 or could not allocate the necessary space (in case
118 .Fa \&ll
119 was
120 .Dv NULL ) .
121 .Pp
122 .Fn utmpxname
123 returns 1 on success, or 0 if the supplied file name was too long or
124 did not end with
125 .Sq x .
126 .Sh SEE ALSO
127 .Xr endutxent 3 ,
128 .Xr utmpx 5
129 .Sh HISTORY
130 The functions
131 .Fn getutmp ,
132 .Fn getutmpx ,
133 and
134 .Fn utmpxname
135 first appeared in
136 .Tn Solaris .
137 .Nm getlastlogx
138 first appeared in
139 .Nx 2.0 .