<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

判断IPv6地址合法性的更多相关文章

  1. 19届华为实习生笔试之判断iPv6地址类型

    题二: 答案: #coding=utf-8 import re,sys str = sys.stdin.readline().strip() def regex(str): result = &quo ...

  2. Java 检查IPv6地址的合法性

    Java 检查IPv6地址的合法性 由于IPv4资源即将耗尽,IPv6将要正式启用,这是大势所趋. 一些现有的服务和应用逐步要对IPv6支持,目前还处在过渡阶段. 提前了解一些IPv6的知识,还是有必 ...

  3. 校验IPv4和IPv6地址和URL地址

    1.校验IPV4地址: function validateIp(obj) { var ip=$(obj).val(); var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;// ...

  4. 浏览器访问IPv6地址

    http://[IPv6]:port/index.html http://[3ffe:3201:1200:1::91]:8080/index.html 目前现在的网络运营商基本都不支持基于IPv6地址 ...

  5. awk函数实现将简化IPV6地址补全

    在用awk处理文本时,有些场景需要将简化的IPV6地址补充成完整的IPV6地址,下边函数可简单实现: IPV6地址补全函数 # ipv6地址补全函数 function compipv6(orig_ad ...

  6. win10 localhost 解析为 ipv6地址 ::1 的解决办法

    今天遇到个奇怪的问题,localhost 访问时提示 not found 404,但是有127.0.0.1可以访问.最后找到原因,是因为 windows 把 localhost 解析为 ipv6 地址 ...

  7. IP地址(IPv4)/IPv6地址的正则表达式

    原地址:http://pfeishao.blog.163.com/blog/static/18162337020112113130453/ Pv4地址正则表达式:^((25[0-5]|2[0-4]\d ...

  8. IPv6地址介绍

    IPv6地址介绍 2008 年 04 月 10 日 1. 认识IPv6地址 IPv4地址是类似 A.B.C.D 的格式,它是32位,用\".\"分成四段,用10进制表示:而IPv6 ...

  9. Ajax请求中带有IPv6地址后的百分号的问题

    IPv6地址后的百分号: 对于连入网络但没有IPv6路由器或DHCPv6服务器的IPv6客户端,它们始终使用fe80::/64链路本地网络地址.如果运行Windows的计算机中有多个网络适配器连接到不 ...

随机推荐

  1. vscode and python

    http://robotkang.cc/2017/04/VS-Code-%E9%85%8D%E7%BD%AEPython/

  2. TOJ 2446: Mint

    2446: Mint Time Limit(Common/Java):2000MS/20000MS     Memory Limit:65536KByteTotal Submit: 4         ...

  3. hdu 1907 尼姆博弈

    John Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submis ...

  4. [BZOJ2523][Ctsc2001]聪明的学生

    [BZOJ2523][Ctsc2001]聪明的学生 试题描述 一位教授逻辑学的教授有三名非常善于推理且精于心算的学生A,B和C.有一天,教授给他们三人出了一道题:教授在每个人脑门上贴了一张纸条并告诉他 ...

  5. [luoguP2219] [HAOI2007]修筑绿化带(单调队列)

    传送门 需要n*m的算法,考虑单调队列 可以预处理出来 a[i][j]表示以i,j为右下角的绿化带+花坛的和 b[i][j]表示以i,j为右下角的花坛的和 那么我们可以单调队列跑出来在A-C-1,B- ...

  6. 623. Add One Row to Tree

    Problem statement Given the root of a binary tree, then value v and depth d, you need to add a row o ...

  7. gcc/g++ 编译时出现:“对’xxxx’未定义的引用,collect2: error: ld returned 1 exit status” 的错误

    出现的问题: 在使用 make 编译实现一个程序时,出现了下面的错误.查看程序源文件所在的目录时发现程序已经完成了编译,并生成了 list_repo.o 的文件,说明是在程序链接生成可执行文件时发生了 ...

  8. 解决PHP无法接收post超过1000个字段的问题

    今天在做与后台交互的的过程中,发现php对于接收的POST有一个限制,超出1000个字段之后便无法接收,项目要求在不改变PHP配置的情况下通过前端方式解决,通过分析并且网上差一些大牛的资料终于找到了解 ...

  9. LeetCode OJ--Valid Parentheses

    http://oj.leetcode.com/problems/valid-parentheses/ 对栈的考察,看括号的使用方式是否合法. class Solution { public: bool ...

  10. 使用Swagger生成Spring Boot REST客户端(支持Feign)(待实践)

    如果项目上使用了Swagger做RESTful的文档,那么也可以通过Swagger提供的代码生成器生成客户端代码,同时支持Feign客户端. 但是经过测试,生成Feign代码和REST客户端有些臃肿. ...