arpainet.c 542 B

123456789101112131415161718192021222324
  1. #include <arpa/inet.h>
  2. #include <assert.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. int main(void) {
  6. uint32_t hl = 0xBADFACED;
  7. uint32_t nl = htonl(hl);
  8. assert(nl == 0xEDACDFBA);
  9. hl = ntohl(nl);
  10. assert(hl == 0xBADFACED);
  11. uint16_t hs = 0xDEAD;
  12. uint16_t ns = htons(hs);
  13. assert(ns == 0xADDE);
  14. hs = ntohs(ns);
  15. assert(hs == 0xDEAD);
  16. const char* addr_str = "8.8.4.4";
  17. struct in_addr* addr = malloc(sizeof addr);
  18. inet_aton(addr_str, addr);
  19. assert(strcmp(inet_ntoa(*addr), addr_str) == 0);
  20. }