QNGetAddrInfo.h 918 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //
  2. // QNGetAddrInfo.h
  3. // HappyDNS
  4. //
  5. // Created by bailong on 16/7/19.
  6. // Copyright © 2016年 Qiniu Cloud Storage. All rights reserved.
  7. //
  8. #ifndef QNGetAddrInfo_h
  9. #define QNGetAddrInfo_h
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. typedef struct qn_ips_ret {
  14. char *ips[1];
  15. } qn_ips_ret;
  16. typedef qn_ips_ret *(*qn_dns_callback)(const char *host);
  17. typedef void (*qn_ip_report_callback)(const char *ip, int code, int time_ms);
  18. extern void qn_free_ips_ret(qn_ips_ret *ip_list);
  19. extern int qn_getaddrinfo(const char *hostname, const char *servname, const struct addrinfo *hints, struct addrinfo **res);
  20. extern void qn_freeaddrinfo(struct addrinfo *ai);
  21. extern void qn_set_dns_callback(qn_dns_callback cb);
  22. extern void qn_set_ip_report_callback(qn_ip_report_callback cb);
  23. extern void qn_ip_report(const struct addrinfo *info, int code, int time_ms);
  24. #ifdef __cplusplus
  25. };
  26. #endif
  27. #endif /* QNGetAddrInfo_h */