includes.h revision 137019
1/* $OpenBSD: includes.h,v 1.18 2004/06/13 15:03:02 djm Exp $ */ 2/* $FreeBSD: head/crypto/openssh/includes.h 137019 2004-10-28 16:11:31Z des $ */ 3 4/* 5 * Author: Tatu Ylonen <ylo@cs.hut.fi> 6 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 7 * All rights reserved 8 * This file includes most of the needed system headers. 9 * 10 * As far as I am concerned, the code I have written for this software 11 * can be used freely for any purpose. Any derived versions of this 12 * software must be clearly marked as such, and if the derived work is 13 * incompatible with the protocol description in the RFC file, it must be 14 * called by a name other than "ssh" or "Secure Shell". 15 */ 16 17#ifndef INCLUDES_H 18#define INCLUDES_H 19 20#define RCSID(msg) \ 21__RCSID(msg) 22 23#include "config.h" 24 25#include <stdio.h> 26#include <ctype.h> 27#include <errno.h> 28#include <fcntl.h> /* For O_NONBLOCK */ 29#include <signal.h> 30#include <stdlib.h> 31#include <string.h> 32#include <stdarg.h> 33#include <pwd.h> 34#include <grp.h> 35#include <time.h> 36#include <dirent.h> 37#include <stddef.h> 38 39#ifdef HAVE_LIMITS_H 40# include <limits.h> /* For PATH_MAX */ 41#endif 42#ifdef HAVE_GETOPT_H 43# include <getopt.h> 44#endif 45#ifdef HAVE_BSTRING_H 46# include <bstring.h> 47#endif 48#if defined(HAVE_GLOB_H) && defined(GLOB_HAS_ALTDIRFUNC) && \ 49 defined(GLOB_HAS_GL_MATCHC) 50# include <glob.h> 51#endif 52#ifdef HAVE_NETGROUP_H 53# include <netgroup.h> 54#endif 55#ifdef HAVE_ENDIAN_H 56# include <endian.h> 57#endif 58#ifdef HAVE_TTYENT_H 59# include <ttyent.h> 60#endif 61#ifdef HAVE_UTIME_H 62# include <utime.h> 63#endif 64#ifdef HAVE_MAILLOCK_H 65# include <maillock.h> /* For _PATH_MAILDIR */ 66#endif 67#ifdef HAVE_NEXT 68# include <libc.h> 69#endif 70#define __USE_GNU /* before unistd.h, activate extra prototypes for glibc */ 71#include <unistd.h> /* For STDIN_FILENO, etc */ 72#include <termios.h> /* Struct winsize */ 73 74/* 75 *-*-nto-qnx needs these headers for strcasecmp and LASTLOG_FILE respectively 76 */ 77#ifdef HAVE_STRINGS_H 78# include <strings.h> 79#endif 80#ifdef HAVE_LOGIN_H 81# include <login.h> 82#endif 83 84#ifdef HAVE_UTMP_H 85# include <utmp.h> 86#endif 87#ifdef HAVE_UTMPX_H 88# ifdef HAVE_TV_IN_UTMPX 89# include <sys/time.h> 90# endif 91# include <utmpx.h> 92#endif 93#ifdef HAVE_LASTLOG_H 94# include <lastlog.h> 95#endif 96#ifdef HAVE_PATHS_H 97# include <paths.h> /* For _PATH_XXX */ 98#endif 99 100#include <sys/types.h> 101#include <sys/socket.h> 102#include <sys/ioctl.h> 103#include <sys/wait.h> 104#ifdef HAVE_SYS_TIME_H 105# include <sys/time.h> /* For timersub */ 106#endif 107#include <sys/resource.h> 108#ifdef HAVE_SYS_SELECT_H 109# include <sys/select.h> 110#endif 111#ifdef HAVE_SYS_BSDTTY_H 112# include <sys/bsdtty.h> 113#endif 114#include <sys/param.h> /* For MAXPATHLEN and roundup() */ 115#ifdef HAVE_SYS_UN_H 116# include <sys/un.h> /* For sockaddr_un */ 117#endif 118#ifdef HAVE_STDINT_H 119# include <stdint.h> 120#endif 121#ifdef HAVE_SYS_BITYPES_H 122# include <sys/bitypes.h> /* For u_intXX_t */ 123#endif 124#ifdef HAVE_SYS_CDEFS_H 125# include <sys/cdefs.h> /* For __P() */ 126#endif 127#ifdef HAVE_SYS_STAT_H 128# include <sys/stat.h> /* For S_* constants and macros */ 129#endif 130#ifdef HAVE_SYS_SYSMACROS_H 131# include <sys/sysmacros.h> /* For MIN, MAX, etc */ 132#endif 133#ifdef HAVE_SYS_MMAN_H 134#include <sys/mman.h> /* for MAP_ANONYMOUS */ 135#endif 136#ifdef HAVE_SYS_STRTIO_H 137#include <sys/strtio.h> /* for TIOCCBRK on HP-UX */ 138#endif 139#if defined(HAVE_SYS_PTMS_H) && defined(HAVE_DEV_PTMX) 140# if defined(HAVE_SYS_STREAM_H) 141# include <sys/stream.h> /* reqd for queue_t on Solaris 2.5.1 */ 142# endif 143#include <sys/ptms.h> /* for grantpt() and friends */ 144#endif 145 146#include <netinet/in_systm.h> /* For typedefs */ 147#include <netinet/in.h> /* For IPv6 macros */ 148#include <netinet/ip.h> /* For IPTOS macros */ 149#include <netinet/tcp.h> 150#include <arpa/inet.h> 151#if defined(HAVE_NETDB_H) 152# include <netdb.h> 153#endif 154#ifdef HAVE_RPC_TYPES_H 155# include <rpc/types.h> /* For INADDR_LOOPBACK */ 156#endif 157#ifdef USE_PAM 158#if defined(HAVE_SECURITY_PAM_APPL_H) 159# include <security/pam_appl.h> 160#elif defined (HAVE_PAM_PAM_APPL_H) 161# include <pam/pam_appl.h> 162#endif 163#endif 164#ifdef HAVE_READPASSPHRASE_H 165# include <readpassphrase.h> 166#endif 167 168#ifdef HAVE_IA_H 169# include <ia.h> 170#endif 171 172#ifdef HAVE_TMPDIR_H 173# include <tmpdir.h> 174#endif 175 176#ifdef HAVE_LIBUTIL_H 177# include <libutil.h> /* Openpty on FreeBSD at least */ 178#endif 179 180#if defined(KRB5) && defined(USE_AFS) 181# include <krb5.h> 182# include <kafs.h> 183#endif 184 185/* 186 * On HP-UX 11.11, shadow.h and prot.h provide conflicting declarations 187 * of getspnam when _INCLUDE__STDC__ is defined, so we unset it here. 188 */ 189#ifdef __hpux 190# ifdef _INCLUDE__STDC__ 191# undef _INCLUDE__STDC__ 192# endif 193#endif 194 195#include <openssl/opensslv.h> /* For OPENSSL_VERSION_NUMBER */ 196 197#include "defines.h" 198 199#include "version.h" 200#include "openbsd-compat/openbsd-compat.h" 201#include "openbsd-compat/bsd-nextstep.h" 202 203#include "entropy.h" 204 205#endif /* INCLUDES_H */ 206