zoukankan      html  css  js  c++  java
  • 【info获取】openwrt获取info源码

    static char *getipolloinfo(__maybe_unused struct api_data *root)
    {
    	FILE *fstream=NULL;  
    	char ipaddr[16];
    	char macaddr[18];
    	char gateway[16];
    	char netmask[16];
    	char fpgaversion[6];
    	for(int i=0;i<5;i++)
    	{
    		switch(i)
    		{
    			case 0:
    				memset(ipaddr,0,sizeof(ipaddr));
    				if(NULL==(fstream=popen("ifconfig br-lan | grep "inet addr" | awk '{ print $2}' | awk -F: '{print $2}'| tr -d ['
    ']","r")))  
    				{ 
    					applog(LOG_WARNING,"get ip addr execute command failed
    "); 
    					continue;  
    				} 
    				if(NULL!=fgets(ipaddr, sizeof(ipaddr), fstream)) 
    				{ 
    					applog(LOG_WARNING,"ipaddr=%s
    ",ipaddr);
    
    				} 
    				else
    				{
    					continue;
    				}
    			break;
    			case 1:
    				memset(macaddr,0,sizeof(macaddr));
    				if(NULL==(fstream=popen("cat /sys/class/net/br-lan/address| tr -d ['
    ']","r")))  
    				{ 
    					applog(LOG_WARNING,"get mac addr execute command failed
    "); 
    					continue;  
    				} 
    				if(NULL!=fgets(macaddr, sizeof(macaddr), fstream)) 
    				{ 
    					applog(LOG_WARNING,"macaddr=%s
    ",macaddr);
    				} 
    				else
    				{
    					continue;
    				}
    			break;
    			case 2:
    				memset(gateway,0,sizeof(gateway));
    				if(NULL==(fstream=popen("netstat -rn|grep br-lan|awk '{print $2}'|awk 'NR==1'| tr -d ['
    ']","r")))  
    				{ 
    					applog(LOG_WARNING,"get gateway execute command failed
    "); 
    					continue;  
    				} 
    				if(NULL!=fgets(gateway, sizeof(gateway), fstream)) 
    				{ 
    					applog(LOG_WARNING,"gateway=%s
    ",gateway);
    				} 
    				else
    				{
    					continue;
    				}
    			break;
    			case 3:
    				memset(netmask,0,sizeof(netmask));
    				if(NULL==(fstream=popen("ifconfig br-lan | grep "Mask" | awk '{ print $4}' |awk -F: '{print $2}'| tr -d ['
    ']","r")))  
    				{ 
    					applog(LOG_WARNING,"get Netmask execute command failed
    "); 
    					continue;  
    				} 
    				if(NULL!=fgets(netmask, sizeof(netmask), fstream)) 
    				{ 
    					applog(LOG_WARNING,"netmask=%s
    ",netmask);
    				} 
    				else
    				{
    					continue;
    				}
    			break;
    			case 4:
    				memset(fpgaversion,0,sizeof(fpgaversion));
    				if(NULL==(fstream=popen("cat /tmp/fpgaversion| tr -d ['
    ']","r")))  
    				{ 
    					applog(LOG_WARNING,"get fpga version command failed
    "); 
    					continue;  
    				} 
    				if(NULL!=fgets(fpgaversion, sizeof(fpgaversion), fstream)) 
    				{ 
    					applog(LOG_WARNING,"fpgaversion=%s
    ",fpgaversion);
    				} 
    				else
    				{
    					continue;
    				}
    
    			break;	
    		}
    		
    		pclose(fstream);
    	}
    
    	root = api_add_string(root, "IP", ipaddr, true);
    	root = api_add_string(root, "Gateway", gateway, true);
    	root = api_add_string(root, "Netmask", netmask, true);
    	root = api_add_string(root, "MAC", macaddr, true);
    	root = api_add_string(root, "FPGA Version", fpgaversion, true);
    	 return (char *)root;
    	
    }
    

      

  • 相关阅读:
    iview数字输入框InputNumber值改变后value的获取
    一个元素完全覆盖在另一个元素之上
    点击某链接跳转到另一页面并在页面执行某链接传参的点击方法
    前后端分离实现django日志下载,celery日志下载
    datetime 使用
    jquery replace(" "," ")替换问题-全部替换
    jquery 将数组(列表)格式的字符串转换成数组,将字典格式的字符串转换成数组
    Navicat for Mysql查询结果导出无表名
    python 实现文件夹下所有文件或文件夹重命名
    python 虚拟环境相关命令
  • 原文地址:https://www.cnblogs.com/yuanqiangfei/p/15477620.html
Copyright © 2011-2022 走看看