• 判断IPv6地址合法性


    <netinet/in.h> 头文件下有下列这些宏用于判断IPv6地址合法性

    返回0代表true,返回非零值代表ipv6地址为非指定类型的的地址(false)

    int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *aptr);
    如果地址是未指定的IPv6地址,则IN6_IS_ADDR_UNSPECIFIED返回true,否则返回false

    int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *aptr);
    如果地址是环回IPv6地址,则IN6_IS_ADDR_LOOPBACK返回true,否则返回false。

    int IN6_IS_ADDR_MULTICAST(const struct in6_addr *aptr);
    如果地址是多播IPv6地址,则IN6_IS_ADDR_MULTICAST返回true,否则返回false。

    int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *aptr);
    如果地址是链接本地IPv6地址,则IN6_IS_ADDR_LINKLOCAL返回true,否则返回false。

    int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *aptr);
    如果地址是站点本地IPv6地址,则IN6_IS_ADDR_SITELOCAL返回true,否则返回false。

    int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *aptr);
    如果地址是IPv4映射的IPv6地址,则IN6_IS_ADDR_V4MAPPED返回true,否则返回false。

    int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *aptr);
    如果地址是IPv4兼容的IPv6地址,则IN6_IS_ADDR_V4COMPAT返回true,否则返回false

    int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *aptr);
    如果地址是具有节点本地范围的IPv6多播地址,则IN6_IS_ADDR_MC_NODELOCAL返回true,否则返回false。

    int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *aptr);
    如果地址是具有链接本地范围的IPv6多播地址,则IN6_IS_ADDR_MC_LINKLOCAL返回true,否则返回false。

    int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *aptr);
    如果地址是具有站点本地作用域的IPv6多播地址,则IN6_IS_ADDR_MC_SITELOCAL返回true,否则返回false。

    int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *aptr);
    如果地址是具有组织本地范围的IPv6多播地址,则IN6_IS_ADDR_MC_ORGLOCAL返回true,否则返回false。

    int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *aptr);
    如果地址是具有全局范围的IPv6多播地址,则IN6_IS_ADDR_MC_GLOBAL返回true,否则返回false。

    参考文档:http://uw714doc.sco.com/en/man/html.3N/inet.3N.html

  • 相关阅读:
    ABAP常用快捷键
    UDP协议的几个特性
    HTTP协议的工作原理
    SAP Memory与ABAP Memory
    Solution Manager Key
    内表的CLEAR、REFRESH、FREE
    ABAP变量的几种可见范围
    Oracle的表空间、数据文件、用户
    SAP ECC6.0 IDES在Win7 X64上的安装
    SAP激活中文语言包
  • 原文地址:https://www.cnblogs.com/lnlin/p/9536343.html
Copyright © 2020-2023  润新知