프로그래밍/C, C++
리눅스 네트워크 디바이스명 알아오는 함수
Dev-Drake
2021. 10. 19. 16:41
반응형
안녕하세요 드레이크입니다^^
프로그램은 하나인데 메인보드의 종류가 여러개일때 네트워크 설정 및 통신에 문제가 생길 수 있습니다.
그럴때 프로그램 시작시 네트워크 디바이스명을 알아오게 해서 동작하게 하면 이 문제를 해결할 수 있습니다!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include <ifaddrs.h>
void GetNetworkDeviceName()
{
int32_t i = 1;
struct ifaddrs *addrs,*tmp;
bzero(Cache.NetworkDeviceName, sizeof(Cache.NetworkDeviceName));
getifaddrs(&addrs);
tmp = addrs;
while (tmp)
{
if (tmp->ifa_addr && tmp->ifa_addr->sa_family == AF_PACKET) {
printlog("알아온 네트워크 디바이스명 : %s", tmp->ifa_name);
// 2번째 이름을 보관한다.
if(i == 2) strcpy(Cache.NetworkDeviceName, tmp->ifa_name);
}
tmp = tmp->ifa_next;
i ++;
}
freeifaddrs(addrs);
}
|
cs |
반응형