Hi Peter,

> can_ioctl_data_s is in a 32-bit union.
> https://github.com/apache/nuttx/blob/40c6af6dec0d769ac57f69e89709f9d6310ee0c6/include/net/if.h#L299
> Making it 64-bit would break that union.

Maybe I am missing something. AFAIU can_ioctl_data_s is already 64-bit
(it includes 4 uint16_t members). Other members of the ifr_ifru union
are 32-bit (ifru_flags, for example) and some others are 64-bit (most
ioctl structures), some depend on the arch (ifru_data, which is a
pointer) and in fact struct sockaddr is even bigger (sa_data itself is
14-byte already). So I do not see a problem in increasing
can_ioctl_data_s to 16+32+16+32 = 96 bits.

BR

Carlos

Reply via email to