Как получить данные / proc / net / dev с помощью вызова функции sysctl? - PullRequest
0 голосов
/ 17 февраля 2019

В моем приложении мне нужна статистика использования сети (полученные байты и пакеты) для каждого интерфейса в системе.

Я нашел, как это сделать во FreeBSD:

static int name[] = { CTL_NET, PF_LINK, NETLINK_GENERIC, IFMIB_SYSTEM, IFMIB_IFCOUNT };

sysctl(name, 5, &data, &len, NULL, 0)

Но этоне работает в Linux (в моем ядре Linux 4.14 нет флага PF_LINK и if_mib.h).И я думаю, что синтаксический анализ / proc / net / dev на самом деле не является идиоматическим способом.

Где я могу найти полное описание иерархии всех флагов (или просто флагов NET) для sysctl и их влияния на возврат данных?

...