interface.c

来自「是一个包装库」· C语言 代码 · 共 86 行

C
86
字号
#include <stdlib.h>#include "interface.h"#include "unpifi.h"intget_min_mtu( void ){  struct ifi_info *info, *n;  int min_mtu_set = 0;  int min_mtu = 0;  info = Get_ifi_info(AF_INET, 0);  for(n = info; n; n = n->ifi_next)    {      if(!min_mtu_set)         {          min_mtu = n->ifi_mtu;          min_mtu_set = 1;        }      else if( n->ifi_mtu < min_mtu )        {          min_mtu = n->ifi_mtu;        }    }  free_ifi_info(info);  return min_mtu;}struct ifi_info *get_first_multicast_interface ( void ){   struct ifi_info *info, *n;   info =  Get_ifi_info(AF_INET, 0);   for(n = info; n; n = n->ifi_next)    {      /* The interface must be UP, not loopback and multicast enabled */      if(! (n->ifi_flags & IFF_UP) )        {          continue;        }      if( n->ifi_flags & IFF_LOOPBACK )        {          continue;        }       if(! (n->ifi_flags & IFF_MULTICAST) )        {          continue;        }      return n;    }   return NULL;}struct ifi_info *get_first_interface ( void ){   return Get_ifi_info(AF_INET, 0); }struct ifi_info *get_interface ( char *name ){   struct ifi_info *info, *n;   info =  Get_ifi_info(AF_INET, 0);   for(n = info; n; n = n->ifi_next)    {       if(!strcmp( name, n->ifi_name))         {           return n;         }    }   return NULL;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?