Get ipv6address prefix content (TO BE FIXED LATER)
来源:互联网 发布:mustache golang 编辑:程序博客网 时间:2024/06/05 23:54
- void get_ipv6addr_prefix_content(char *ipv6addr,char *prefix)
- {
- struct in6_addr ipv6;
- char ipv6_str_r[INET6_ADDRSTRLEN]={0};
- char *p1,*p2;
- int prefix_num;
- char ipaddr_tmp[sizeof(struct in6_addr)];//tmp addr
- int i=0;
- //find '/' and process prefix num
- if(NULL == (p1 = strchr(ipv6addr,'/')))
- {
- printf("IPv6 Address without Prefix!\n");
- exit(1);
- }
- else
- {
- printf("IPv6 Address with Prefix!\n");
- p2 = p1+1;
- prefix_num = atoi(p2);
- char *tmp = ipv6addr;
- static int k = 0;
- while(tmp != p1)
- {
- ipaddr_tmp[k] = *tmp;
- tmp++;
- k++;
- }
- ipaddr_tmp[k-1] = '\0';
- }
-
- u_int8_t prefix_data[prefix_num/8];
-
- printf("ipv6address:%s\n", ipv6addr);
- //string to binary
- if (inet_pton(AF_INET6,ipaddr_tmp,&ipv6) <= 0)
- {
- printf("inet_pton failed.");
- exit(1);
- }
- //printf ipv6addr data
- for(;i<16;i++)
- {
- printf("ipv6.s6_addr[%d]:%x\n",i,ipv6.s6_addr[i]);
- }
- printf("=======================================");
- /* process prefix */
- if((prefix_num%2) == 0)//prefix num is even num
- {
- printf("\nThe prefix data\n");
-
- for(i = 0;i < ((prefix_num)/8);i ++)
- {
- prefix_data[i] = ipv6.s6_addr[i];
- printf("%x\n",prefix_data[i]);
- }
-
- //tail content set to 0x0
- int j = prefix_num/8;
- while(j<16)
- {
- prefix_data[j] = 0x0;
- j++;
- }
- }
- else //prefix num is odd num
- {
- //to be fixed.
- exit(1);
- }
- printf("=======================================\n");
-
- //hex to string
- if ( !inet_ntop(AF_INET6, prefix_data,ipv6_str_r,sizeof(ipv6_str_r)) )
- {
- printf("inet_ntop failed.");
- exit(1);
- }
- printf("Get Prefix##_%s\n", ipv6_str_r);
- strcpy(prefix,ipv6_str_r);
-
- }
0
上一篇:bash的内部命令
下一篇:vim/ctags/TagList/NERD_Tree Set UP
相关热门文章
- 2012年11月江门猪崽报价表muzh...
- leetcode Add Two Numbers
- PID(4)
- leetcode Remove Duplicates ...
- Cyrus Part VIII: Using Mails...
- test123
- 编写安全代码——小心有符号数...
- 使用openssl api进行加密解密...
- 一段自己打印自己的c程序...
- sql relay的c++接口
- 我的博客被删了,请问怎么联系...
- 一个访问量较大网站的服务器。...
- 收音机驱动与v4l2架构的关系,...
- 如何将linux驱动改为裸机驱动(...
- Fedora 20开机卡在LOGO界面,...
给主人留下些什么吧!~~
评论热议
0 0
- Get ipv6address prefix content (TO BE FIXED LATER)
- GWT in practice: some parts need to be learned later
- How to get AutoCAD Mtext content
- 使用fancybox,报如下错误:The requested content cannot be loaded. Please try again later.的解决方法
- Android N requires the IDE to be running with Java 1.8 or later
- Android N requires the IDE to be running with Java 1.8 or later
- requires the IDE to be running with java 1.8 or later 解决方法
- 解决 Android N requires the IDE to be running with Java 1.8 or later
- Android N requires the IDE to be running with Java 1.8 or later 问题解决
- Android N requires the IDE to be running with Java 1.8 or later 解决方法
- command to get the man page content to file
- whatever how, this should be record and be researched later. ---- about how to enable gpio value set in mach_smdk6410.c
- How to get a web page content type
- Unable to get provider android.support.v4.content.FileProvider
- 解决 Android Nougat requires the IDE to be running with Java 1.8 or later Install a supported JDK
- Warning::'XXX' will be initialized later
- #256 – 使用FixedDocument 在指定的地方显示内容(Use a FixedDocument to Display Content at Fixed Locations)
- Error parsing XML: prefix must not be bound to one of the reserved namespace names
- select函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
- Linux 信号signal处理机制
- cscope install&&use
- 写了一个解、压缩文件的shell脚本
- bash的内部命令
- Get ipv6address prefix content (TO BE FIXED LATER)
- vim/ctags/TagList/NERD_Tree Set UP
- 使用shell脚本创建好的图形应用程序
- UVA 10603 Fill(正确代码虽然很搓,网上许多代码都不能AC)
- NAT穿越原理——STUN
- MicroSoft .NET 的基本模块
- CI框架插入多条sql记录
- 网页字体微软雅黑
- Java二进制指令代码解析
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
卓尔
卓尔控股
卓尔手表
卓尔2-1鲁能
卓尔自动化
卓尔精灵
卓尔宣布破产
卓尔英语听力
卓尔英语听力材料下载
卓尔集团宣布破产
武汉卓尔集团
卓尔集团
武汉卓尔足球俱乐部
武汉卓尔集团要破产了
武汉卓尔吧
卓尔珠宝
卓尼县
卓尼
卓尼住宿
卓尼大酒店
卓尼吧
甘南卓尼县宾馆
卓展
卓展lv
卓峰
卓帆
卓弘高尔夫雅苑户型图
卓弘高尔夫雅苑
卓恩
卓悦
卓悦汇
卓悦中心
香港卓悦
深圳卓悦
卓悦居
卓悦网
卓悦美缝剂
卓悦集团
涿州卓悦城
卓悦购物网
卓悦英语