static int check_protocol_support(bool *has_ipv4, bool *has_ipv6)

{

    struct sockaddr_in sin = {

        .sin_family = AF_INET,

        .sin_addr = { .s_addr = htonl(INADDR_LOOPBACK) },

    };

    struct sockaddr_in6 sin6 = {

        .sin6_family = AF_INET6,

        .sin6_addr = IN6ADDR_LOOPBACK_INIT,

    };



    if (check_bind((struct sockaddr *)&sin, sizeof(sin), has_ipv4) < 0) {

        return -1;

    }

    if (check_bind((struct sockaddr *)&sin6, sizeof(sin6), has_ipv6) < 0) {

        return -1;

    }



    return 0;

}

static int check_protocol_support(bool *has_ipv4, bool *has_ipv6)

{

    struct sockaddr_in sin = {

        .sin_family = AF_INET,

        .sin_addr = { .s_addr = htonl(INADDR_LOOPBACK) },

    };

    struct sockaddr_in6 sin6 = {

        .sin6_family = AF_INET6,

        .sin6_addr = IN6ADDR_LOOPBACK_INIT,

    };



    if (check_bind((struct sockaddr *)&sin, sizeof(sin), has_ipv4) < 0) {

        return -1;

    }

    if (check_bind((struct sockaddr *)&sin6, sizeof(sin6), has_ipv6) < 0) {

        return -1;

    }



    return 0;

}

        return -1;         return -1;     return 0;     struct sockaddr_in sin = {         .sin_family = AF_INET,         .sin_addr = { .s_addr = htonl(INADDR_LOOPBACK) },     };     struct sockaddr_in6 sin6 = {         .sin6_family = AF_INET6,         .sin6_addr = IN6ADDR_LOOPBACK_INIT,     };     if (check_bind((struct sockaddr *)&sin, sizeof(sin), has_ipv4) < 0) {     if (check_bind((struct sockaddr *)&sin6, sizeof(sin6), has_ipv6) < 0) {
static int FUNC_0(bool *VAR_0, bool *VAR_1)

{

    struct sockaddr_in VAR_2 = {

        .sin_family = AF_INET,

        .sin_addr = { .s_addr = htonl(INADDR_LOOPBACK) },

    };

    struct sockaddr_in6 VAR_3 = {

        .sin6_family = AF_INET6,

        .sin6_addr = IN6ADDR_LOOPBACK_INIT,

    };



    if (check_bind((struct sockaddr *)&VAR_2, sizeof(VAR_2), VAR_0) < 0) {

        return -1;

    }

    if (check_bind((struct sockaddr *)&VAR_3, sizeof(VAR_3), VAR_1) < 0) {

        return -1;

    }



    return 0;

}

static int FUNC_0(bool *VAR_0, bool *VAR_1)
{ struct sockaddr_in VAR_2 = { .sin_family = AF_INET,
.sin_addr = { .s_addr = htonl(INADDR_LOOPBACK) }, }; struct sockaddr_in6 VAR_3 = { .sin6_family = AF_INET6,
.sin6_addr = IN6ADDR_LOOPBACK_INIT,
}; if (check_bind((struct sockaddr *)&VAR_2, sizeof(VAR_2), VAR_0) < 0) { return -1; } if (check_bind((struct sockaddr *)&VAR_3, sizeof(VAR_3), VAR_1) < 0) { return -1; } return 0; }