ifaddrs.h 575 B

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef _IFADDRS_H
  2. #define _IFADDRS_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include <features.h>
  7. #include <netinet/in.h>
  8. struct ifaddrs {
  9. struct ifaddrs *ifa_next;
  10. char *ifa_name;
  11. unsigned ifa_flags;
  12. struct sockaddr *ifa_addr;
  13. struct sockaddr *ifa_netmask;
  14. union {
  15. struct sockaddr *ifu_broadaddr;
  16. struct sockaddr *ifu_dstaddr;
  17. } ifa_ifu;
  18. void *ifa_data;
  19. };
  20. #define ifa_broadaddr ifa_ifu.ifu_broadaddr
  21. #define ifa_dstaddr ifa_ifu.ifu_dstaddr
  22. void freeifaddrs(struct ifaddrs *ifp);
  23. int getifaddrs(struct ifaddrs **ifap);
  24. #ifdef __cplusplus
  25. }
  26. #endif
  27. #endif