Официальный форум СВД Встраиваемые Системы
15 Декабря, 2018, 14:06:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Программное определение линка  (Прочитано 123 раз)
denver
Пользователь

Сообщений: 35


« : 22 Ноября, 2018, 13:46:39 »

Здравствуйте! Использую qnx 6.5.0 и lsm-nraw.so. Есть 3 сетевых интерфейса. Есть ли программная возможность определить на каком из них есть линк? Нашел только как получить для девайсов, которые через io-net подключаются. С помощью структуры nic_config_t и DCMD_IO_NET_GET_CONFIG. Но nraw сокеты не поддерживает эту команду. Через ioctl с nraw дескриптором тоже не получилось. Создает ли io-pkt какой-то файл по типу nraw или io-net для этих нужд и если да, то где он лежит?

Спасибо.
Записан
Андрей Панченко
Сотрудник СВД ВС
Пользователь

Сообщений: 99



WWW
« Ответ #1 : 28 Ноября, 2018, 14:18:28 »

Можно попробовать получить статус среды через ioctl SIOCGIFMEDIA.
Код:
struct ifmediareq ifmr;
int sock = socket(AF_INET, SOCK_DGRAM, 0);
memset(&ifmr, 0x0, sizeof(ifmr));
strlcpy(ifmr.ifm_name, "wm0", sizeof(ifmr.ifm_name));
ioctl(sock, SIOCGIFMEDIA, &ifmr);
if ( (ifmr.ifm_status & (IFM_AVALID|IFM_ACTIVE)) == (IFM_AVALID|IFM_ACTIVE) ) {
printf("link up\n");
} else {
printf("link down\n");
}
close(sock);
Полный пример во вложении.
Записан

Сотрудник СВД Встраиваемые Системы
denver
Пользователь

Сообщений: 35


« Ответ #2 : 05 Декабря, 2018, 09:55:53 »

Спасибо большое)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2018 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 22 Ноября, 2018, 23:53:08