sessreg.h revision 1e5fa1c5
1a6d9b409Smrg/*
2a6d9b409Smrg * Copyright 1990, 1998  The Open Group
3a6d9b409Smrg *
4a6d9b409Smrg * Permission to use, copy, modify, distribute, and sell this software and its
5a6d9b409Smrg * documentation for any purpose is hereby granted without fee, provided that
6a6d9b409Smrg * the above copyright notice appear in all copies and that both that
7a6d9b409Smrg * copyright notice and this permission notice appear in supporting
8a6d9b409Smrg * documentation.
9a6d9b409Smrg *
10a6d9b409Smrg * The above copyright notice and this permission notice shall be included
11a6d9b409Smrg * in all copies or substantial portions of the Software.
12a6d9b409Smrg *
13a6d9b409Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
14a6d9b409Smrg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
15a6d9b409Smrg * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
16a6d9b409Smrg * IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
17a6d9b409Smrg * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
18a6d9b409Smrg * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
19a6d9b409Smrg * OTHER DEALINGS IN THE SOFTWARE.
20a6d9b409Smrg *
21a6d9b409Smrg * Except as contained in this notice, the name of The Open Group shall
22a6d9b409Smrg * not be used in advertising or otherwise to promote the sale, use or
23a6d9b409Smrg * other dealings in this Software without prior written authorization
24a6d9b409Smrg * from The Open Group.
25a6d9b409Smrg *
26a6d9b409Smrg */
27a6d9b409Smrg
28a6d9b409Smrg/* Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
29a6d9b409Smrg *
30a6d9b409Smrg * Permission is hereby granted, free of charge, to any person obtaining a
311e5fa1c5Smrg * copy of this software and associated documentation files (the "Software"),
321e5fa1c5Smrg * to deal in the Software without restriction, including without limitation
331e5fa1c5Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
341e5fa1c5Smrg * and/or sell copies of the Software, and to permit persons to whom the
351e5fa1c5Smrg * Software is furnished to do so, subject to the following conditions:
361e5fa1c5Smrg *
371e5fa1c5Smrg * The above copyright notice and this permission notice (including the next
381e5fa1c5Smrg * paragraph) shall be included in all copies or substantial portions of the
391e5fa1c5Smrg * Software.
401e5fa1c5Smrg *
411e5fa1c5Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
421e5fa1c5Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
431e5fa1c5Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
441e5fa1c5Smrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
451e5fa1c5Smrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
461e5fa1c5Smrg * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
471e5fa1c5Smrg * DEALINGS IN THE SOFTWARE.
48a6d9b409Smrg */
49a6d9b409Smrg
50a6d9b409Smrg#include "config.h"
51a6d9b409Smrg
52a6d9b409Smrg#include <sys/types.h>
53a6d9b409Smrg#include <time.h>
541e5fa1c5Smrg
551e5fa1c5Smrg#ifdef HAVE_UTMP_H
561e5fa1c5Smrg# include <utmp.h>
571e5fa1c5Smrg# define USE_UTMP
581e5fa1c5Smrg#endif
59a6d9b409Smrg
60a6d9b409Smrg#ifdef HAVE_UTMPX_H
611e5fa1c5Smrg# include <utmpx.h>
621e5fa1c5Smrg# define USE_UTMPX
63a6d9b409Smrg#endif
64a6d9b409Smrg
65a6d9b409Smrg#ifdef HAVE_SYS_PARAM_H
66a6d9b409Smrg# include <sys/param.h>
67a6d9b409Smrg#endif
68a6d9b409Smrg
69a6d9b409Smrg#ifndef HAVE_LASTLOG_H
70a6d9b409Smrg# define NO_LASTLOG
71a6d9b409Smrg#endif
72a6d9b409Smrg
73a6d9b409Smrg#ifndef NO_LASTLOG
74a6d9b409Smrg# ifdef CSRG_BASED
75a6d9b409Smrg#  if (BSD < 199103)
76a6d9b409Smrg#   include	<lastlog.h>
77a6d9b409Smrg#  endif
78a6d9b409Smrg# else
79a6d9b409Smrg#  include	<lastlog.h>
80a6d9b409Smrg# endif
81a6d9b409Smrg# include	<pwd.h>
82a6d9b409Smrg#endif
83a6d9b409Smrg
84a6d9b409Smrg#ifdef CSRG_BASED
85a6d9b409Smrg#if !defined(__FreeBSD__) && !defined(__OpenBSD__)
86a6d9b409Smrg/* *BSD doesn't like a ':0' type entry in utmp */
87a6d9b409Smrg#define NO_UTMP
88a6d9b409Smrg#endif
89a6d9b409Smrg#endif
90a6d9b409Smrg
91a6d9b409Smrg#ifndef WTMP_FILE
92a6d9b409Smrg# ifdef _PATH_WTMP
93a6d9b409Smrg#  define WTMP_FILE	_PATH_WTMP
94a6d9b409Smrg# else
95a6d9b409Smrg#  define WTMP_FILE	"/usr/adm/wtmp"
96a6d9b409Smrg# endif
97a6d9b409Smrg#endif
98a6d9b409Smrg#ifndef UTMP_FILE
99a6d9b409Smrg# ifdef _PATH_UTMP
100a6d9b409Smrg#  define UTMP_FILE	_PATH_UTMP
101a6d9b409Smrg# else
102a6d9b409Smrg#  define UTMP_FILE	"/etc/utmp"
103a6d9b409Smrg# endif
104a6d9b409Smrg#endif
105a6d9b409Smrg#ifndef NO_LASTLOG
106a6d9b409Smrg# ifndef LLOG_FILE
107a6d9b409Smrg#  ifdef _PATH_LASTLOG
108a6d9b409Smrg#   define LLOG_FILE	_PATH_LASTLOG
109a6d9b409Smrg#  else
110a6d9b409Smrg#   define LLOG_FILE	"/usr/adm/lastlog"
111a6d9b409Smrg#  endif
112a6d9b409Smrg# endif
113a6d9b409Smrg#endif
114a6d9b409Smrg#ifndef SYSV
115a6d9b409Smrg# ifndef TTYS_FILE
116a6d9b409Smrg#  define TTYS_FILE	"/etc/ttys"
117a6d9b409Smrg# endif
118a6d9b409Smrg#endif
119a6d9b409Smrg
120