For interfaces that do not support SIOCGIFMEDIA (for which there are quite a few) the only fallback is to query the interface for if_data->ifi_link_state.
While it's possible to get at if_data for an interface via getifaddrs(3) or sysctl, both are heavy weight mechanisms.
SIOCGIFDATA is a simple ioctl to retrieve this fast with very little resource use in comparison.
This implementation mirrors that of other similar ioctls in FreeBSD.
Other BSD's support SIOCGIFDATA and I would like FreeBSD to as well.