trafgen: fix resource leaks
[netsniff-ng.git] / geoip.h
blobb1e2bb50bee07c615d6b3584669e5455b50d8baf
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 char *geoip4_city_name(struct sockaddr_in *sa);
15 extern char *geoip6_city_name(struct sockaddr_in6 *sa);
16 extern char *geoip4_region_name(struct sockaddr_in *sa);
17 extern 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 const char *geoip4_country_code3_name(struct sockaddr_in *sa);
21 extern const char *geoip6_country_code3_name(struct sockaddr_in6 *sa);
22 extern float geoip4_longitude(struct sockaddr_in *sa);
23 extern float geoip4_latitude(struct sockaddr_in *sa);
24 extern float geoip6_longitude(struct sockaddr_in6 *sa);
25 extern float geoip6_latitude(struct sockaddr_in6 *sa);
26 extern const char *geoip4_as_name(struct sockaddr_in *sa);
27 extern const char *geoip6_as_name(struct sockaddr_in6 *sa);
28 extern void destroy_geoip(void);
29 #else
30 static inline void init_geoip(int enforce)
34 static inline void destroy_geoip(void)
38 static inline void update_geoip(void)
40 panic("No built-in geoip support!\n");
43 static inline int geoip_working(void)
45 return 0;
48 static inline char *geoip4_city_name(struct sockaddr_in *sa)
50 return NULL;
53 static inline char *geoip6_city_name(struct sockaddr_in6 *sa)
55 return NULL;
58 static inline char *geoip4_region_name(struct sockaddr_in *sa)
60 return NULL;
63 static inline char *geoip6_region_name(struct sockaddr_in6 *sa)
65 return NULL;
68 static inline const char *geoip4_country_name(struct sockaddr_in *sa)
70 return NULL;
73 static inline const char *geoip6_country_name(struct sockaddr_in6 *sa)
75 return NULL;
78 static inline float geoip4_longitude(struct sockaddr_in *sa)
80 return .0f;
83 static inline float geoip4_latitude(struct sockaddr_in *sa)
85 return .0f;
88 static inline float geoip6_longitude(struct sockaddr_in6 *sa)
90 return .0f;
93 static inline float geoip6_latitude(struct sockaddr_in6 *sa)
95 return .0f;
98 static inline const char *geoip4_as_name(struct sockaddr_in *sa)
100 return NULL;
103 static inline const char *geoip6_as_name(struct sockaddr_in6 *sa)
105 return NULL;
108 static inline const char *geoip4_country_code3_name(struct sockaddr_in *sa)
110 return NULL;
113 static inline const char *geoip6_country_code3_name(struct sockaddr_in6 *sa)
115 return NULL;
117 #endif
119 #endif /* GEOIPH_H */