flowtop: Don't attempt to set sysctl values if initial read fails
[netsniff-ng.git] / geoip.h
blob66ed20bd7a91c5c04c2e75cca26872e17168008a
1 #ifndef GEOIPH_H
2 #define GEOIPH_H
4 #include <stdio.h>
5 #include <netinet/in.h>
7 #include "config.h"
8 #include "die.h"
10 #if defined(HAVE_GEOIP) && defined(HAVE_LIBZ)
11 extern void init_geoip(int enforce);
12 extern void update_geoip(void);
13 extern int geoip_working(void);
14 extern const char *geoip4_city_name(struct sockaddr_in *sa);
15 extern const char *geoip6_city_name(struct sockaddr_in6 *sa);
16 extern const char *geoip4_region_name(struct sockaddr_in *sa);
17 extern const char *geoip6_region_name(struct sockaddr_in6 *sa);
18 extern const char *geoip4_country_name(struct sockaddr_in *sa);
19 extern const char *geoip6_country_name(struct sockaddr_in6 *sa);
20 extern float geoip4_longitude(struct sockaddr_in *sa);
21 extern float geoip4_latitude(struct sockaddr_in *sa);
22 extern float geoip6_longitude(struct sockaddr_in6 *sa);
23 extern float geoip6_latitude(struct sockaddr_in6 *sa);
24 extern const char *geoip4_as_name(struct sockaddr_in *sa);
25 extern const char *geoip6_as_name(struct sockaddr_in6 *sa);
26 extern void destroy_geoip(void);
27 #else
28 static inline void init_geoip(int enforce)
32 static inline void destroy_geoip(void)
36 static inline void update_geoip(void)
38 panic("No built-in geoip support!\n");
41 static inline int geoip_working(void)
43 return 0;
46 static inline const char *geoip4_city_name(struct sockaddr_in *sa)
48 return NULL;
51 static inline const char *geoip6_city_name(struct sockaddr_in6 *sa)
53 return NULL;
56 static inline const char *geoip4_region_name(struct sockaddr_in *sa)
58 return NULL;
61 static inline const char *geoip6_region_name(struct sockaddr_in6 *sa)
63 return NULL;
66 static inline const char *geoip4_country_name(struct sockaddr_in *sa)
68 return NULL;
71 static inline const char *geoip6_country_name(struct sockaddr_in6 *sa)
73 return NULL;
76 static inline float geoip4_longitude(struct sockaddr_in *sa)
78 return .0f;
81 static inline float geoip4_latitude(struct sockaddr_in *sa)
83 return .0f;
86 static inline float geoip6_longitude(struct sockaddr_in6 *sa)
88 return .0f;
91 static inline float geoip6_latitude(struct sockaddr_in6 *sa)
93 return .0f;
96 static inline const char *geoip4_as_name(struct sockaddr_in *sa)
98 return NULL;
101 static inline const char *geoip6_as_name(struct sockaddr_in6 *sa)
103 return NULL;
105 #endif
107 #endif /* GEOIPH_H */