1: /*
2: * libnet
3: * libnet.h - Network routine library header file
4: * @configure_input@
5: *
6: * Copyright (c) 1998 - 2004 Mike D. Schiffman <mike@infonexus.com>
7: * All rights reserved.
8: *
9: * Redistribution and use in source and binary forms, with or without
10: * modification, are permitted provided that the following conditions
11: * are met:
12: * 1. Redistributions of source code must retain the above copyright
13: * notice, this list of conditions and the following disclaimer.
14: * 2. Redistributions in binary form must reproduce the above copyright
15: * notice, this list of conditions and the following disclaimer in the
16: * documentation and/or other materials provided with the distribution.
17: *
18: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21: * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28: * SUCH DAMAGE.
29: *
30: */
31:
32: #ifndef __LIBNET_H
33: #define __LIBNET_H
34:
35: /**
36: * @file libnet.h
37: * @brief Top-level libnet header file
38: *
39: * @details This section doesn't contain any details about libnet.h.
40: *
41: * For details, see libnet-functions.h and libnet-macros.h
42: */
43:
44: #ifdef __cplusplus
45: extern "C" {
46: #endif
47:
48: /*
49: * TODO move the stuff we ALWAYS need out of the DOXYGEN ifndef block
50: * and minimize their redundancies (see doc/TODO)
51: */
52: #ifndef DOXYGEN_SHOULD_SKIP_THIS // mess
53: #include <stdio.h>
54: #include <string.h>
55: #include <fcntl.h>
56: #include <signal.h>
57: #include <stdlib.h>
58:
59: #include <sys/stat.h>
60: #include <sys/types.h>
61: #include <ctype.h>
62:
63: #include <errno.h>
64: #include <stdarg.h>
65:
66: #if !defined(_MSC_VER)
67: #include <unistd.h>
68: #endif
69:
70: #if defined(HAVE_SYS_SOCKIO_H) && !defined(SIOCGIFADDR)
71: #include <sys/sockio.h>
72: #endif
73:
74: #if !defined(__WIN32__)
75: #include <sys/ioctl.h>
76: #include <sys/socket.h>
77: #include <net/if.h>
78: #if defined (__FreeBSD__) || defined (__DragonFly__)
79: #include <netinet/in.h>
80: #endif
81: #include <arpa/inet.h>
82: #include <sys/time.h>
83: #include <netdb.h>
84: #else /* __WIN32__ */
85: #if (__CYGWIN__)
86: #include <sys/socket.h>
87: #endif
88: #include <stdint.h>
89: #include <ws2tcpip.h>
90: #include <windows.h>
91: #include <winsock2.h>
92: #endif /* __WIN32__ */
93:
94: #if (HAVE_NET_ETHERNET_H)
95: #include <net/ethernet.h>
96: #endif /* HAVE_NET_ETHERNET_H */
97:
98: #define LIBNET_VERSION "@PACKAGE_VERSION@"
99:
100: #define @ENDIANESS@ 1
101:
102: #ifndef LIBNET_API
103: #define LIBNET_API
104: #endif
105: #endif /* DOXYGEN_SHOULD_SKIP_THIS */
106:
107: #include "./libnet/libnet-types.h"
108: #include "./libnet/libnet-macros.h"
109: #include "./libnet/libnet-headers.h"
110: #include "./libnet/libnet-structures.h"
111: #include "./libnet/libnet-asn1.h"
112: #include "./libnet/libnet-functions.h"
113:
114: #ifdef __cplusplus
115: }
116: #endif
117:
118: #endif /* __LIBNET_H */
119:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>