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 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);
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)
46 static inline const char *geoip4_city_name(struct sockaddr_in sa
)
51 static inline const char *geoip6_city_name(struct sockaddr_in6 sa
)
56 static inline const char *geoip4_region_name(struct sockaddr_in sa
)
61 static inline const char *geoip6_region_name(struct sockaddr_in6 sa
)
66 static inline const char *geoip4_country_name(struct sockaddr_in sa
)
71 static inline const char *geoip6_country_name(struct sockaddr_in6 sa
)
76 static inline float geoip4_longitude(struct sockaddr_in sa
)
81 static inline float geoip4_latitude(struct sockaddr_in sa
)
86 static inline float geoip6_longitude(struct sockaddr_in6 sa
)
91 static inline float geoip6_latitude(struct sockaddr_in6 sa
)
96 static inline const char *geoip4_as_name(struct sockaddr_in sa
)
101 static inline const char *geoip6_as_name(struct sockaddr_in6 sa
)
107 #endif /* GEOIPH_H */