/* * * (C) 2013-20 - ntop.org * * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * */ #ifndef _NTOP_H_ #define _NTOP_H_ #include "config.h" #if defined (__FreeBSD) || defined(__FreeBSD__) #define _XOPEN_SOURCE #define _WITH_GETLINE #endif #include #include #ifdef WIN32 #include "ntop_win32.h" #else #include #include #include #include #include #include #include #include #if defined(__OpenBSD__) #include #include #include #include #include #include #include #else #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif #ifdef __linux__ #define __FAVOR_BSD #endif #include #include #include #include #include #include #include #include #include #include #include #include #ifndef WIN32 #include #endif #ifdef HAVE_TEST_MODE #include #endif #if defined(linux) #include // ethtool #include // sockios #include #elif defined(__FreeBSD__) || defined(__APPLE__) #include #include #endif #ifdef __APPLE__ #include #endif extern "C" { #include "pcap.h" #ifndef __linux__ #include /* Used for bpf_filter() */ #endif #include "ndpi_api.h" #include "lua.h" #include "lauxlib.h" #include "lualib.h" #ifdef HAVE_PF_RING #include "pfring.h" #include "pfring_zc.h" #endif #ifdef HAVE_NEDGE #include #include /* for NF_ACCEPT */ #include #include #include /* SilicomHwBypass */ #endif #include "json.h" #include #include "hiredis.h" #ifdef HAVE_LDAP #include #endif #ifdef HAVE_ZLIB #include #endif #ifdef WIN32 /* See https://translate.google.co.uk/translate?sl=auto&tl=en&u=http%3A%2F%2Fbugsfixed.blogspot.com%2F2017%2F05%2Fvcpkg.html */ #define CURL_STATICLIB #endif #include #ifdef WIN32 #pragma comment(lib, "crypt32.lib") #pragma comment(lib, "wldap32.lib") #endif #include "third-party/uthash.h" #ifdef HAVE_MYSQL #include #include #endif #ifdef HAVE_MAXMINDDB #include #endif #ifdef HAVE_LIBCAP #include #include #endif }; #include #include #include #if !defined(__clang__) && (__GNUC__ <= 4) && (__GNUC_MINOR__ < 8) && !defined(WIN32) #include #else #include #endif #include #include #include #include #include #include #include #include #include #include using namespace std; #include "mongoose.h" #include "patricia.h" #include "ntop_defines.h" #include "Mutex.h" #include "RwLock.h" #include "Bitmask.h" #include "Bloom.h" #include "MonitoredMetric.h" #include "MonitoredCounter.h" #include "MonitoredGauge.h" #include "MDNS.h" #include "AddressTree.h" #include "VlanAddressTree.h" #include "BroadcastDomains.h" #include "Cardinality.h" #include "IpAddress.h" #include "Ping.h" #include "ContinuousPingStats.h" #include "ContinuousPing.h" #include "TrafficStats.h" #include "TcpPacketStats.h" #include "DSCPStats.h" #include "ntop_typedefs.h" #include "Alert.h" #include "AlertableEntity.h" #include "Trace.h" #include "ProtoStats.h" #include "Utils.h" #include "Bitmap.h" #include "NtopGlobals.h" #include "nDPIStats.h" #include "InterarrivalStats.h" #include "FlowStats.h" #ifdef NTOPNG_PRO #include "CustomAppMaps.h" #include "CustomAppStats.h" #endif #include "ThroughputStats.h" #include "GenericTrafficElement.h" #include "AlertCounter.h" #include "NetworkStats.h" #include "ContainerStats.h" #include "ParsedFlowCore.h" #include "ParsedeBPF.h" #include "ParsedFlow.h" #ifdef HAVE_EBPF #include "ebpf_flow.h" #endif #ifdef NTOPNG_PRO #include "Profile.h" #include "Profiles.h" #include "CountMinSketch.h" #ifndef HAVE_NEDGE #include "FlowProfile.h" #include "FlowProfiles.h" #include "SubInterface.h" #include "SubInterfaces.h" #endif #include "CounterTrend.h" #include "LRUMacIP.h" #include "FlowInterfacesStats.h" #ifdef HAVE_LDAP #include "LdapAuthenticator.h" #endif #endif #include "HostPoolStats.h" #include "HostPools.h" #include "Fingerprint.h" #include "Prefs.h" #include "SerializableElement.h" #include "DnsStats.h" #ifndef HAVE_NEDGE #include "SNMP.h" #endif #include "NetworkDiscovery.h" #include "ICMPstats.h" #include "ICMPinfo.h" #include "Grouper.h" #include "FlowGrouper.h" #include "PacketStats.h" #include "EthStats.h" #include "SyslogStats.h" #include "LocalTrafficStats.h" #include "PacketDumperGeneric.h" #include "PacketDumper.h" #include "PacketDumperTuntap.h" #include "TimelineExtract.h" #include "TcpFlowStats.h" #include "StoreManager.h" #include "StatsManager.h" #include "AlertsManager.h" #include "DB.h" #ifdef HAVE_MYSQL #include "MySQLDB.h" #endif #include "InterfaceStatsHash.h" #include "GenericHash.h" #include "GenericHashEntry.h" #if defined(NTOPNG_PRO) && defined(HAVE_NINDEX) #include "nindex_api.h" #endif #ifdef HAVE_RADIUS #include #endif #include "Condvar.h" #include "TimeseriesExporter.h" #include "InfluxDBTimeseriesExporter.h" #include "L4Stats.h" #include "AlertsQueue.h" #include "LuaEngineFunctions.h" #include "LuaEngine.h" #include "SPSCQueue.h" #include "LuaReusableEngine.h" #include "AlertCheckLuaEngine.h" #include "FlowAlertCheckLuaEngine.h" #include "SyslogLuaEngine.h" #include "FifoQueue.h" #include "FifoStringsQueue.h" #include "FifoSerializerQueue.h" #include "RRDTimeseriesExporter.h" #include "RecipientQueues.h" #include "Recipients.h" #ifdef NTOPNG_PRO #include "PeriodicityStats.h" #include "PeriodicityHash.h" #include "ServiceMap.h" #include "PeriodicityMap.h" #endif #include "NetworkInterface.h" #ifndef HAVE_NEDGE #include "PcapInterface.h" #endif #include "ViewInterface.h" #ifdef HAVE_PF_RING #include "PF_RINGInterface.h" #endif #include "VirtualHost.h" #include "VirtualHostHash.h" #include "HTTPstats.h" #include "Redis.h" #ifndef HAVE_NEDGE #include "ElasticSearch.h" #include "Logstash.h" #endif #ifdef HAVE_NINDEX #include "TextDump.h" #include "NIndexFlowDB.h" #endif #include "FrequentStringItems.h" #ifdef NTOPNG_PRO #include "NtopPro.h" #include "DnsHostMapping.h" #include "TrafficShaper.h" #include "L7Policer.h" #ifdef HAVE_MYSQL #include "BatchedMySQLDB.h" #include "BatchedMySQLDBEntry.h" #endif #include "LuaHandler.h" #ifdef HAVE_NEDGE #include "HwBypass.h" #include "SilicomHwBypass.h" #include "NetfilterInterface.h" #endif #endif #ifndef HAVE_NEDGE #include "ParserInterface.h" #include "ZMQParserInterface.h" #include "ZMQCollectorInterface.h" #include "SyslogParserInterface.h" #include "SyslogCollectorInterface.h" #include "ZCCollectorInterface.h" #include "DummyInterface.h" #include "ExportInterface.h" #endif #include "Geolocation.h" #include "Vlan.h" #include "AutonomousSystem.h" #include "Country.h" #include "MacStats.h" #include "Mac.h" #include "PartializableFlowTrafficStats.h" #include "ViewInterfaceFlowStats.h" #include "FlowTrafficStats.h" #include "HostStats.h" #include "LocalHostStats.h" #include "HostScore.h" #include "Host.h" #include "LocalHost.h" #include "RemoteHost.h" #include "IEC104Stats.h" #include "Flow.h" #include "FlowHash.h" #include "MacHash.h" #include "VlanHash.h" #include "AutonomousSystemHash.h" #include "CountriesHash.h" #include "HostHash.h" #include "ThreadedActivityStats.h" #include "ThreadedActivity.h" #include "ThreadPool.h" #include "PeriodicActivities.h" #include "MacManufacturers.h" #include "AddressResolution.h" #include "HTTPserver.h" #include "Paginator.h" #include "Ntop.h" #ifdef NTOPNG_PRO #include "ntoppro_defines.h" #endif #endif /* _NTOP_H_ */