1/*
2 * Copyright (c) 1997 - 2006 Kungliga Tekniska Högskolan
3 * (Royal Institute of Technology, Stockholm, Sweden).
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * 1. Redistributions of source code must retain the above copyright
11 *    notice, this list of conditions and the following disclaimer.
12 *
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.
16 *
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.
20 *
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.
32 */
33
34/*
35 * $Id$
36 */
37
38#ifndef __HEADERS_H__
39#define __HEADERS_H__
40
41#include <config.h>
42
43#include <limits.h>
44#include <stdio.h>
45#include <stdlib.h>
46#include <string.h>
47#include <errno.h>
48#include <signal.h>
49#include <stdarg.h>
50#ifdef HAVE_SYS_TYPES_H
51#include <sys/types.h>
52#endif
53#ifdef HAVE_FCNTL_H
54#include <fcntl.h>
55#endif
56#ifdef HAVE_SYS_SELECT_H
57#include <sys/select.h>
58#endif
59#ifdef HAVE_SYS_SOCKET_H
60#include <sys/socket.h>
61#endif
62#ifdef HAVE_NETINET_IN_H
63#include <netinet/in.h>
64#endif
65#ifdef HAVE_NETINET_IN6_H
66#include <netinet/in6.h>
67#endif
68#ifdef HAVE_NETINET6_IN6_H
69#include <netinet6/in6.h>
70#endif
71#ifdef HAVE_ARPA_INET_H
72#include <arpa/inet.h>
73#endif
74#ifdef HAVE_SYS_WAIT_H
75#include <sys/wait.h>
76#endif
77#ifdef HAVE_NETDB_H
78#include <netdb.h>
79#endif
80#ifdef HAVE_UTIL_H
81#include <util.h>
82#endif
83#ifdef HAVE_LIBUTIL_H
84#include <libutil.h>
85#endif
86#include <err.h>
87#include <roken.h>
88#include <getarg.h>
89#include <base64.h>
90#include <parse_units.h>
91#include <krb5.h>
92#include <krb5_locl.h>
93#ifdef DIGEST
94#include <digest_asn1.h>
95#endif
96#ifdef KX509
97#include <kx509_asn1.h>
98#endif
99#include <hdb.h>
100#include <hdb_err.h>
101#include <der.h>
102
103#ifndef NO_NTLM
104#include <heimntlm.h>
105#endif
106#include <kdc.h>
107#include <windc_plugin.h>
108
109#undef ALLOC
110#define ALLOC(X) ((X) = calloc(1, sizeof(*(X))))
111#undef ALLOC_SEQ
112#define ALLOC_SEQ(X, N) do { (X)->len = (N); \
113(X)->val = calloc((X)->len, sizeof(*(X)->val)); } while(0)
114
115#endif /* __HEADERS_H__ */
116