1/*
2 * Copyright (c) 1997 - 2005 Kungliga Tekniska Högskolan
3 * (Royal Institute of Technology, Stockholm, Sweden).
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * 1. Redistributions of source code must retain the above copyright
11 *    notice, this list of conditions and the following disclaimer.
12 *
13 * 2. Redistributions in binary form must reproduce the above copyright
14 *    notice, this list of conditions and the following disclaimer in the
15 *    documentation and/or other materials provided with the distribution.
16 *
17 * 3. Neither the name of the Institute nor the names of its contributors
18 *    may be used to endorse or promote products derived from this software
19 *    without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 */
33
34/* $Id$ */
35
36#ifndef __LOGIN_LOCL_H__
37#define __LOGIN_LOCL_H__
38
39#ifdef HAVE_CONFIG_H
40#include <config.h>
41#endif
42#include <stdio.h>
43#include <stdlib.h>
44#include <string.h>
45#include <ctype.h>
46#include <unistd.h>
47#include <syslog.h>
48#include <signal.h>
49#include <termios.h>
50#include <err.h>
51#include <pwd.h>
52#include <roken.h>
53#include <getarg.h>
54#ifdef HAVE_NETDB_H
55#include <netdb.h>
56#endif
57#ifdef HAVE_PATHS_H
58#include <paths.h>
59#endif
60#ifdef HAVE_UTMP_H
61#include <utmp.h>
62#endif
63#ifdef HAVE_UTMPX_H
64#include <utmpx.h>
65#endif
66#ifdef HAVE_UDB_H
67#include <udb.h>
68#endif
69#ifdef HAVE_SYS_RESOURCE_H
70#include <sys/resource.h>
71#endif
72#ifdef HAVE_SYS_CATEGORY_H
73#include <sys/category.h>
74#endif
75#ifdef HAVE_SYS_WAIT_H
76#include <sys/wait.h>
77#endif
78#ifdef HAVE_SHADOW_H
79#include <shadow.h>
80#endif
81#ifdef HAVE_NETGROUP_H
82#include <netgroup.h>
83#endif
84#ifdef HAVE_RPCSVC_YPCLNT_H
85#include <rpcsvc/ypclnt.h>
86#endif
87#ifdef KRB5
88#include <krb5.h>
89#endif
90#include <kafs.h>
91
92#ifdef OTP
93#include <otp.h>
94#endif
95
96#ifdef HAVE_OSFC2
97#define getargs OSFgetargs
98#include "/usr/include/prot.h"
99#undef getargs
100#endif
101
102#ifndef _PATH_BSHELL
103#define _PATH_BSHELL "/bin/sh"
104#endif
105#ifndef _PATH_TTY
106#define _PATH_TTY "/dev/tty"
107#endif
108#ifndef _PATH_DEV
109#define _PATH_DEV "/dev/"
110#endif
111#ifndef _PATH_WTMP
112#ifdef WTMP_FILE
113#define _PATH_WTMP WTMP_FILE
114#else
115#define _PATH_WTMP "/var/adm/wtmp"
116#endif
117#endif
118#ifndef _PATH_UTMP
119#ifdef UTMP_FILE
120#define _PATH_UTMP UTMP_FILE
121#else
122#define _PATH_UTMP "/var/adm/utmp"
123#endif
124#endif
125
126/* if cygwin doesnt have WTMPX_FILE, it uses wtmp for wtmpx
127 * http://www.cygwin.com/ml/cygwin/2006-12/msg00630.html */
128#ifdef __CYGWIN__
129#ifndef WTMPX_FILE
130#define WTMPX_FILE WTMP_FILE
131#endif
132#endif
133
134#ifndef _PATH_LOGACCESS
135#define _PATH_LOGACCESS SYSCONFDIR "/login.access"
136#endif /* _PATH_LOGACCESS */
137
138#ifndef _PATH_LOGIN_CONF
139#define _PATH_LOGIN_CONF SYSCONFDIR "/login.conf"
140#endif /* _PATH_LOGIN_CONF */
141
142#ifndef _PATH_DEFPATH
143#define _PATH_DEFPATH "/usr/bin:/bin"
144#endif
145
146#include "loginpaths.h"
147
148struct spwd;
149
150extern char **env;
151extern int num_env;
152
153#include "login-protos.h"
154
155#endif /* __LOGIN_LOCL_H__ */
156