您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ IN6_IS_ADDR_MC_LINKLOCAL函数代码示例

51自学网 2021-06-01 21:29:47
  C++
这篇教程C++ IN6_IS_ADDR_MC_LINKLOCAL函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中IN6_IS_ADDR_MC_LINKLOCAL函数的典型用法代码示例。如果您正苦于以下问题:C++ IN6_IS_ADDR_MC_LINKLOCAL函数的具体用法?C++ IN6_IS_ADDR_MC_LINKLOCAL怎么用?C++ IN6_IS_ADDR_MC_LINKLOCAL使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了IN6_IS_ADDR_MC_LINKLOCAL函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: setScopeFromAddress

/** Determines the IPv6 scope of a specified address. * * @param[in] v6Addr - The IPv6 address to be checked. * * @return The ipv6 scope of the address. * * @remarks The @p v6Addr parameter must be pointer to a 16-byte IPv6  *    address in binary form. *  * @internal */static int setScopeFromAddress(const struct in6_addr * v6Addr){   if (IN6_IS_ADDR_MULTICAST(v6Addr))   {      if (IN6_IS_ADDR_MC_GLOBAL(v6Addr))         return SLP_SCOPE_GLOBAL;      if (IN6_IS_ADDR_MC_ORGLOCAL(v6Addr))         return SLP_SCOPE_ORG_LOCAL;      if (IN6_IS_ADDR_MC_SITELOCAL(v6Addr))         return SLP_SCOPE_SITE_LOCAL;      if (IN6_IS_ADDR_MC_NODELOCAL(v6Addr))         return SLP_SCOPE_NODE_LOCAL;      if (IN6_IS_ADDR_MC_LINKLOCAL(v6Addr))         return SLP_SCOPE_LINK_LOCAL;   }   if (IN6_IS_ADDR_SITELOCAL(v6Addr))      return SLP_SCOPE_SITE_LOCAL;   if (SLP_IN6_IS_ADDR_LOOPBACK(v6Addr))      return SLP_SCOPE_NODE_LOCAL;   if (IN6_IS_ADDR_LINKLOCAL(v6Addr))      return SLP_SCOPE_LINK_LOCAL;   return 0;}
开发者ID:Distrotech,项目名称:openslp,代码行数:41,


示例2: ifa_make_sockaddr

static void ifa_make_sockaddr(sa_family_t family, 		  struct sockaddr *sa, 		  void *p, size_t len,		  uint32_t scope, uint32_t scopeid){  if (sa == NULL) return;  switch(family){  case AF_INET:    memcpy(&((struct sockaddr_in*)sa)->sin_addr, (char *)p, len);    break;  case AF_INET6:    memcpy(&((struct sockaddr_in6*)sa)->sin6_addr, (char *)p, len);    if (IN6_IS_ADDR_LINKLOCAL(p) ||	IN6_IS_ADDR_MC_LINKLOCAL(p)){      ((struct sockaddr_in6*)sa)->sin6_scope_id = scopeid;    }    break;  case AF_PACKET:    memcpy(((struct sockaddr_ll*)sa)->sll_addr, (char *)p, len);    ((struct sockaddr_ll*)sa)->sll_halen = len;    break;  default:    memcpy(sa->sa_data, p, len);	/*XXX*/    break;  }  sa->sa_family = family;#ifdef HAVE_SOCKADDR_SA_LEN  sa->sa_len = ifa_sa_len(family, len);#endif}
开发者ID:alexshavelev,项目名称:lldpd,代码行数:31,


示例3: copy_addr

static void copy_addr(struct sockaddr** r,                      int af,                      union sockany* sa,                      void* addr,                      size_t addrlen,                      int ifindex) {  uint8_t* dst;  int len;  switch (af) {    case AF_INET:      dst = (uint8_t*)&sa->v4.sin_addr;      len = 4;      break;    case AF_INET6:      dst = (uint8_t*)&sa->v6.sin6_addr;      len = 16;      if (IN6_IS_ADDR_LINKLOCAL(addr) || IN6_IS_ADDR_MC_LINKLOCAL(addr))        sa->v6.sin6_scope_id = ifindex;      break;    default:      return;  }  if (addrlen < len)    return;  sa->sa.sa_family = af;  memcpy(dst, addr, len);  *r = &sa->sa;}
开发者ID:freiling,项目名称:mojo,代码行数:29,


示例4: __inet6_scopeid_pton

/* Parse SOURCE as a scope ID for ADDRESS.  Return 0 on success and -1   on error.  */internal_function int__inet6_scopeid_pton (const struct in6_addr *address, const char *scope,                      uint32_t *result){  if (IN6_IS_ADDR_LINKLOCAL (address)      || IN6_IS_ADDR_MC_LINKLOCAL (address))    {      uint32_t number = __if_nametoindex (scope);      if (number != 0)        {          *result = number;          return 0;        }    }  if (isdigit_l (scope[0], _nl_C_locobj_ptr))    {      char *end;      unsigned long long number        = ____strtoull_l_internal (scope, &end, /*base */ 10, /* group */ 0,                                   _nl_C_locobj_ptr);      if (*end == '/0' && number <= UINT32_MAX)        {          *result = number;          return 0;        }    }  __set_errno (EINVAL);  return -1;}
开发者ID:siddhesh,项目名称:glibc,代码行数:33,


示例5: defined

const char *ACE_INET_Addr::get_host_addr (char *dst, int size) const{#if defined (ACE_HAS_IPV6)  if (this->get_type () == AF_INET6)    {      // [email
C++ IN6_IS_ADDR_V4MAPPED函数代码示例
C++ IN6_IS_ADDR_LOOPBACK函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。