1/*
2 * Dropbear - a SSH2 server
3 *
4 * Copyright (c) 2002,2003 Matt Johnston
5 * All rights reserved.
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal
9 * in the Software without restriction, including without limitation the rights
10 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 * copies of the Software, and to permit persons to whom the Software is
12 * furnished to do so, subject to the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be included in
15 * all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 * SOFTWARE. */
24
25#ifndef _INCLUDES_H_
26#define _INCLUDES_H_
27
28
29#include "config.h"
30#include "options.h"
31#include "debug.h"
32
33#include <sys/types.h>
34#include <sys/ioctl.h>
35#include <sys/param.h> /* required for BSD4_4 define */
36#include <sys/socket.h>
37#include <sys/stat.h>
38#include <sys/time.h>
39#include <sys/un.h>
40#include <sys/wait.h>
41#include <sys/resource.h>
42
43#include <stdio.h>
44#include <errno.h>
45#include <fcntl.h>
46#include <grp.h>
47#include <limits.h>
48#include <pwd.h>
49#include <signal.h>
50#include <stdlib.h>
51#include <string.h>
52#include <termios.h>
53#include <unistd.h>
54#include <syslog.h>
55#include <netdb.h>
56#include <ctype.h>
57#include <stdarg.h>
58#include <dirent.h>
59
60#ifdef HAVE_UTMP_H
61#include <utmp.h>
62#endif
63
64#ifdef HAVE_UTMPX_H
65#include <utmpx.h>
66#endif
67
68#ifdef HAVE_PATHS_H
69#include <paths.h>
70#endif
71
72#ifdef HAVE_LASTLOG_H
73#include <lastlog.h>
74#endif
75
76#ifdef HAVE_NETINET_IN_H
77#include <netinet/in.h>
78#endif
79
80#include <arpa/inet.h>
81
82/* netbsd 1.6 needs this to be included before netinet/ip.h for some
83 * undocumented reason */
84#ifdef HAVE_NETINET_IN_SYSTM_H
85#include <netinet/in_systm.h>
86#endif
87
88#include <netinet/ip.h>
89
90#ifdef HAVE_NETINET_TCP_H
91#include <netinet/tcp.h>
92#endif
93
94#ifdef HAVE_INTTYPES_H
95#include <inttypes.h>
96#endif
97
98#ifdef HAVE_LIBUTIL_H
99#include <libutil.h>
100#endif
101
102#ifdef HAVE_CRYPT_H
103#include <crypt.h>
104#endif
105
106#ifndef DISABLE_ZLIB
107#include <zlib.h>
108#endif
109
110#ifdef HAVE_UTIL_H
111#include <util.h>
112#endif
113
114#ifdef HAVE_SHADOW_H
115#include <shadow.h>
116#endif
117
118#ifdef HAVE_LIBGEN_H
119#include <libgen.h>
120#endif
121
122#include "libtomcrypt/src/headers/tomcrypt.h"
123#include "libtommath/tommath.h"
124
125#include "compat.h"
126#include "fake-rfc2553.h"
127
128#ifndef HAVE_UINT16_T
129#ifndef HAVE_U_INT16_T
130typedef unsigned short u_int16_t;
131#endif /* HAVE_U_INT16_T */
132typedef u_int16_t uint16_t;
133#endif /* HAVE_UINT16_T */
134
135#ifndef LOG_AUTHPRIV
136#define LOG_AUTHPRIV LOG_AUTH
137#endif
138
139/* so we can avoid warnings about unused params (ie in signal handlers etc) */
140#ifdef UNUSED
141#elif defined(__GNUC__)
142# define UNUSED(x) UNUSED_ ## x __attribute__((unused))
143#elif defined(__LCLINT__)
144# define UNUSED(x) /*@unused@*/ x
145#else
146# define UNUSED(x) x
147#endif
148
149#endif /* _INCLUDES_H_ */
150