Перечислите CAN-адаптеры
Есть ли способ перечислить все устройства CAN в Linux?
Легко получить список доступных имен адаптеров и их индексов, используя if_nameindex, но я не вижу очевидного способа использовать его для последующей итерации, хотя бы тех, которые выясняют, могут или нет (кроме уродливого взлома, чтобы увидеть, "может" в названии).
Я полагаю, я мог бы создать сокет, используя PF_CAN, а затем попытаться связать с каждым из индексов. Я ожидал бы, что только интерфейсы CAN вернутся успешно, но снова это похоже на взлом.
Я также взглянул на сокет ioctls в sys/ioctl.h, но не вижу там ничего полезного. Я подумал, что, возможно, с помощью SIOCGIFADDR будет работать, и я смогу получить поле sa_family, но это тоже не работает.