#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>

int main() {
    // a sockaddr_in6 stores ipv6 addresses.
    printf("struct sockaddr_in6: %lu\n\n", sizeof(struct sockaddr_in6));

    printf("-> sa_family_t sin6_family: %lu\n", sizeof(sa_family_t));
    printf("-> in_port_t sin6_port: %lu\n", sizeof(in_port_t));
    printf("-> uint32_t sin6_flowinfo: %lu\n", sizeof(uint32_t));
    printf("-> struct in6_addr sin6_addr: %lu\n", sizeof(struct in6_addr));
    printf("-> uint32_t sin6_scope_id: %lu\n", sizeof(uint32_t));

    printf("\n\n");

    // a sockaddr_in stores ipv4 addresses.
    printf("struct sockaddr_in: %lu\n\n", sizeof(struct sockaddr_in));

    printf("-> sa_family_t sin_family: %lu\n", sizeof(sa_family_t));
    printf("-> in_port_t sin_port: %lu\n", sizeof(in_port_t));
    printf("-> struct in_addr sin_addr: %lu\n", sizeof(struct in_addr));

    return 0;
}

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: