Могу ли я получить информацию о шлюзе маршрута для интерфейса (программно), используя getifaddrs () или каким-либо другим способом?
Да, вы можете.См. Страницу руководства для route(4).
route(4)
Вы можете использовать sysctl() для вывода информации о маршрутизации. В MIB первое значение должно быть установлено на CTL_NET, а второе на AF_ROUTE.
sysctl()
CTL_NET
AF_ROUTE
Если доступно (как это freebsd), вы можете прочитать /proc/net/route.
/proc/net/route