]>
Commit | Line | Data |
---|---|---|
1f2f436a | 1 | .\" $NetBSD: getlastlogx.3,v 1.2 2008/04/30 13:10:50 martin Exp $ |
224c7076 A |
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. | |
224c7076 A |
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 | .\" | |
ad3c9f2a | 30 | .Dd Dec 26, 2005 |
224c7076 A |
31 | .Dt GETLASTLOGX 3 |
32 | .Os | |
33 | .Sh NAME | |
34 | .Nm getlastlogx , | |
ad3c9f2a | 35 | .Nm getlastlogxbyname , |
224c7076 A |
36 | .Nm getutmp , |
37 | .Nm getutmpx , | |
224c7076 A |
38 | .Nm utmpxname |
39 | .Nd user accounting database functions | |
224c7076 A |
40 | .Sh SYNOPSIS |
41 | .In utmpx.h | |
42 | .Ft struct lastlogx * | |
ad3c9f2a A |
43 | .Fn getlastlogx "uid_t uid" "struct lastlogx *ll" |
44 | .Ft struct lastlogx * | |
45 | .Fn getlastlogxbyname "const char *name" "struct lastlogx *ll" | |
224c7076 A |
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 | |
224c7076 A |
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 | |
224c7076 A |
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. | |
224c7076 | 68 | The |
ad3c9f2a A |
69 | .Fn getlastlogxbyname |
70 | function is similar to | |
71 | .Fn getlastlogx , | |
72 | except the user name is passed. | |
73 | .Pp | |
224c7076 A |
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 | |
224c7076 A |
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 */ | |
224c7076 A |
98 | }; |
99 | .Ed | |
224c7076 A |
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 | |
ad3c9f2a A |
109 | and |
110 | .Fn getlastlogxbyname | |
111 | return the found entry on success, or | |
224c7076 A |
112 | .Dv NULL |
113 | if it could not open the database, could not find an entry matching | |
114 | .Fa uid | |
ad3c9f2a A |
115 | or |
116 | .Fa name , | |
117 | or could not allocate the necessary space (in case | |
224c7076 A |
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 . | |
224c7076 A |
126 | .Sh SEE ALSO |
127 | .Xr endutxent 3 , | |
224c7076 A |
128 | .Xr utmpx 5 |
129 | .Sh HISTORY | |
130 | The functions | |
131 | .Fn getutmp , | |
132 | .Fn getutmpx , | |
224c7076 A |
133 | and |
134 | .Fn utmpxname | |
135 | first appeared in | |
136 | .Tn Solaris . | |
137 | .Nm getlastlogx | |
224c7076 A |
138 | first appeared in |
139 | .Nx 2.0 . |