s4:heimdal A real fix for bug 6801
[heimdal.git] / appl / login / login_locl.h
blob020eac889d0e7f6280ba1873b184333b799748f8
1 /*
2 * Copyright (c) 1997 - 2005 Kungliga Tekniska Högskolan
3 * (Royal Institute of Technology, Stockholm, Sweden).
4 * All rights reserved.
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
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.
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.
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.
34 /* $Id$ */
36 #ifndef __LOGIN_LOCL_H__
37 #define __LOGIN_LOCL_H__
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>
92 #ifdef OTP
93 #include <otp.h>
94 #endif
96 #ifdef HAVE_OSFC2
97 #define getargs OSFgetargs
98 #include "/usr/include/prot.h"
99 #undef getargs
100 #endif
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
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
134 #ifndef _PATH_LOGACCESS
135 #define _PATH_LOGACCESS SYSCONFDIR "/login.access"
136 #endif /* _PATH_LOGACCESS */
138 #ifndef _PATH_LOGIN_CONF
139 #define _PATH_LOGIN_CONF SYSCONFDIR "/login.conf"
140 #endif /* _PATH_LOGIN_CONF */
142 #ifndef _PATH_DEFPATH
143 #define _PATH_DEFPATH "/usr/bin:/bin"
144 #endif
146 #include "loginpaths.h"
148 struct spwd;
150 extern char **env;
151 extern int num_env;
153 #include "login-protos.h"
155 #endif /* __LOGIN_LOCL_H__ */