On 12/10/20 2:34 PM, Rainer Orth wrote:
I've just checked: <netinet/icmp6.h> is effectively unchanged since
Solaris 10.

Besides, there's gcc211 in the GCC compile farm, running Solaris 11.3/SPARC.

Ah, thanks, I wasn't aware there was a compile farm available to GCC
developers. I've applied for an account, but it sounds like it may take
a while to get approved.

My theory was wrong, by the way. This CĀ snippet, representative of the
Solaris headers, expands just fine:

struct in6_addr {
        union {
                uint8_t         __u6_addr8[16];
                uint16_t        __u6_addr16[8];
                uint32_t        __u6_addr32[4];
        } __u6_addr;                    /* 128-bit IP6 address */
};

typedef struct icmp6_hdr {
        uint8_t  icmp6_type;    /* type field */
        uint8_t  icmp6_code;    /* code field */
        uint16_t icmp6_cksum;   /* checksum field */
        union {
                uint32_t icmp6_un_data32[1];    /* type-specific field */
                uint16_t icmp6_un_data16[2];    /* type-specific field */
                uint8_t  icmp6_un_data8[4];     /* type-specific field */
        } icmp6_dataun;
} icmp6_t;

typedef struct mld_hdr {
        struct icmp6_hdr        mld_icmp6_hdr;
        struct in6_addr         mld_addr; /* multicast address */
} mld_hdr_t;

Something else is afoot here, but I'm not sure what.

Nikhil

Reply via email to