1 /* 2 * 3 * includes.h 4 * 5 * Author: Tatu Ylonen <ylo@cs.hut.fi> 6 * 7 * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 8 * All rights reserved 9 * 10 * Created: Thu Mar 23 16:29:37 1995 ylo 11 * 12 * This file includes most of the needed system headers. 13 * 14 * $FreeBSD$ 15 */ 16 17 #ifndef INCLUDES_H 18 #define INCLUDES_H 19 20 #define RCSID(msg) \ 21 static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg } 22 23 #include <sys/types.h> 24 #include <sys/socket.h> 25 #include <sys/select.h> 26 #include <sys/param.h> 27 #include <sys/ioctl.h> 28 #include <sys/stat.h> 29 #include <sys/wait.h> 30 #include <sys/time.h> 31 #include <sys/un.h> 32 #include <sys/resource.h> 33 #include <machine/endian.h> 34 35 #include <netinet/in.h> 36 #include <netinet/in_systm.h> 37 #include <netinet/tcp.h> 38 #include <netinet/ip.h> 39 #include <arpa/inet.h> 40 #include <netdb.h> 41 42 #include <stdio.h> 43 #include <ctype.h> 44 #include <errno.h> 45 #include <fcntl.h> 46 #include <signal.h> 47 #include <termios.h> 48 #include <stdlib.h> 49 #include <string.h> 50 #include <stdarg.h> 51 #include <pwd.h> 52 #include <grp.h> 53 #include <unistd.h> 54 #include <time.h> 55 #include <paths.h> 56 #include <dirent.h> 57 58 #include "version.h" 59 60 /* Define this to be the path of the xauth program. */ 61 #define XAUTH_PATH "/usr/X11R6/bin/xauth" 62 63 /* 64 * Define this to use pipes instead of socketpairs for communicating with the 65 * client program. Socketpairs do not seem to work on all systems. 66 */ 67 #define USE_PIPES 1 68 69 #if defined(__FreeBSD__) && __FreeBSD__ <= 3 70 /* 71 * Data types. 72 */ 73 typedef u_char sa_family_t; 74 typedef u_int32_t socklen_t; 75 76 /* 77 * bsd-api-new-02a: protocol-independent placeholder for socket addresses 78 */ 79 #define _SS_MAXSIZE 128 80 #define _SS_ALIGNSIZE (sizeof(int64_t)) 81 #define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(u_char) * 2) 82 #define _SS_PAD2SIZE (_SS_MAXSIZE - sizeof(u_char) * 2 - \ 83 _SS_PAD1SIZE - _SS_ALIGNSIZE) 84 85 struct sockaddr_storage { 86 u_char ss_len; /* address length */ 87 sa_family_t ss_family; /* address family */ 88 char __ss_pad1[_SS_PAD1SIZE]; 89 int64_t __ss_align; /* force desired structure storage alignment */ 90 char __ss_pad2[_SS_PAD2SIZE]; 91 }; 92 #endif 93 94 #endif /* INCLUDES_H */ 95