링크 ux c 네트워크 카드 상태 가 져 오기 (UP 또는 DOWN)

원본 코드 는 다음 과 같 습 니 다.
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <linux/if.h>
#include <string.h>
#include <stdio.h>


char *net_detect(char* net_name)
{
        int skfd = 0;
        struct ifreq ifr;

        skfd = socket(AF_INET, SOCK_DGRAM, 0);
        if(skfd < 0) {
                printf("%s:%d Open socket error!
"
, __FILE__, __LINE__); return NULL; } strcpy(ifr.ifr_name, net_name); if(ioctl(skfd, SIOCGIFFLAGS, &ifr) <0 ) { printf("%s:%d IOCTL error!
"
, __FILE__, __LINE__); printf("Maybe ethernet inferface %s is not valid!", ifr.ifr_name); close(skfd); return NULL; } if(ifr.ifr_flags & IFF_RUNNING) { return "UP"; } else { return "DOWN"; } } int main() { printf("%s
"
,net_detect("eth0")); return 0; }

요약: 이 프로그램 은 ifconfig 명령 에서 지정 한 네트워크 카드 를 테스트 하 는 데 유용 합 니 다.ifconfig eth 0 up 과 ifconfig eth 0 down 테스트 에 맞 출 수 있 습 니 다.

좋은 웹페이지 즐겨찾기