5 #include <netinet/in.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);
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)
48 static inline char *geoip4_city_name(struct sockaddr_in
*sa
)
53 static inline char *geoip6_city_name(struct sockaddr_in6
*sa
)
58 static inline char *geoip4_region_name(struct sockaddr_in
*sa
)
63 static inline char *geoip6_region_name(struct sockaddr_in6
*sa
)
68 static inline const char *geoip4_country_name(struct sockaddr_in
*sa
)
73 static inline const char *geoip6_country_name(struct sockaddr_in6
*sa
)
78 static inline float geoip4_longitude(struct sockaddr_in
*sa
)
83 static inline float geoip4_latitude(struct sockaddr_in
*sa
)
88 static inline float geoip6_longitude(struct sockaddr_in6
*sa
)
93 static inline float geoip6_latitude(struct sockaddr_in6
*sa
)
98 static inline const char *geoip4_as_name(struct sockaddr_in
*sa
)
103 static inline const char *geoip6_as_name(struct sockaddr_in6
*sa
)
108 static inline const char *geoip4_country_code3_name(struct sockaddr_in
*sa
)
113 static inline const char *geoip6_country_code3_name(struct sockaddr_in6
*sa
)
119 #endif /* GEOIPH_H */