--- embedaddon/libnet/include/libnet.h.in 2012/02/21 22:14:23 1.1 +++ embedaddon/libnet/include/libnet.h.in 2023/09/27 11:11:38 1.1.1.4 @@ -1,7 +1,7 @@ /* - * $Id: libnet.h.in,v 1.1 2012/02/21 22:14:23 misho Exp $ - * + * libnet * libnet.h - Network routine library header file + * @configure_input@ * * Copyright (c) 1998 - 2004 Mike D. Schiffman * All rights reserved. @@ -31,91 +31,79 @@ #ifndef __LIBNET_H #define __LIBNET_H + /** * @file libnet.h - * @brief toplevel libnet header file + * @brief Top-level libnet header file + * + * @details This section doesn't contain any details about libnet.h. + * + * For details, see libnet-functions.h and libnet-macros.h */ -/** - * @mainpage Libnet Packet Assembly Library - * - * @section intro Overview - * - * Libnet is a high-level API (toolkit) allowing the application programmer to - * construct and inject network packets. It provides a portable and simplified - * interface for low-level network packet shaping, handling and injection. - * Libnet hides much of the tedium of packet creation from the application - * programmer such as multiplexing, buffer management, arcane packet header - * information, byte-ordering, OS-dependent issues, and much more. Libnet - * features portable packet creation interfaces at the IP layer and link layer, - * as well as a host of supplementary and complementary functionality. Using - * libnet, quick and simple packet assembly applications can be whipped up with - * little effort. With a bit more time, more complex programs can be written - * (Traceroute and ping were easily rewritten using libnet and - * libpcap). - */ - #ifdef __cplusplus extern "C" { #endif -#define _GNU_SOURCE + /* + * TODO move the stuff we ALWAYS need out of the DOXYGEN ifndef block + * and minimize their redundancies (see doc/TODO) + */ +#ifndef DOXYGEN_SHOULD_SKIP_THIS // mess #include #include -#include #include #include #include -#if !defined(__WIN32__) -#include -#endif /* __WIN32__ */ -#if defined(HAVE_SYS_SOCKIO_H) && !defined(SIOCGIFADDR) -#include -#endif + #include #include #include + +#include +#include + +#if !defined(_MSC_VER) +#include +#endif + +#if defined(HAVE_SYS_SOCKIO_H) && !defined(SIOCGIFADDR) +#include +#endif + #if !defined(__WIN32__) +#include #include -#include -#include -#include #include +#if defined (__FreeBSD__) || defined (__DragonFly__) +#include +#endif +#include +#include +#include #else /* __WIN32__ */ #if (__CYGWIN__) #include #endif +#include #include #include #include -#include #endif /* __WIN32__ */ -#if !(__linux__) && !(__WIN32__) && !(__APPLE__) && !(__CYGWIN__) -#include -#else /* __linux__ */ + #if (HAVE_NET_ETHERNET_H) #include #endif /* HAVE_NET_ETHERNET_H */ -#endif /* __linux__ */ -#if !defined(__WIN32__) -#include -#include -#if (__linux__) && !(__GLIBC__) -/* we get multiple definitions of IGMP_AGE_THRESHOLD if we include netinet */ -#include -#else -#include -#endif -#include -#include -#include -#endif /* __WIN32__ */ -#include -#include -#define LIBNET_VERSION "@LIBNET_VERSION@" +#define LIBNET_VERSION "@PACKAGE_VERSION@" + #define @ENDIANESS@ 1 +#ifndef LIBNET_API +#define LIBNET_API +#endif +#endif /* DOXYGEN_SHOULD_SKIP_THIS */ + #include "./libnet/libnet-types.h" #include "./libnet/libnet-macros.h" #include "./libnet/libnet-headers.h" @@ -129,4 +117,3 @@ extern "C" { #endif /* __LIBNET_H */ -/* EOF */