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 130 typedef unsigned short u_int16_t; 131 #endif /* HAVE_U_INT16_T */ 132 typedef 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