利用ioctl()获取无线速率
其实对于自己装了网卡驱动的来说,应该从最根本的驱动中获取速率。
但是用ioctl()也可以,其实实现和iwconfig命令相同。
仅仅获取速率这部分:
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/socket.h>
- #include <string.h>
- #include "wireless_copy.h"
- #define dvname "ath0"
- int get_rate(int sock, struct iwreq* wrq,__s32 rate);
- int main()
- {
- struct iwreq wrq;
- int sock;
- char gInterfaceName[16];
- __s32 rate;
- memset(gInterfaceName, 0, sizeof(gInterfaceName));
- strcat(gInterfaceName,dvname);
- sock = socket(AF_INET, SOCK_DGRAM, 0);
- if (sock < 0)
- {
- printf("Error Creating Socket for ioctl/n");
- return 0;
- }
- memset(&wrq, 0, sizeof(wrq));
- strncpy(wrq.ifr_name, gInterfaceName, IFNAMSIZ);
- get_rate(sock, &wrq,rate);
- printf("/nrate:%dM/n/n",wrq.u.bitrate.value/1000000);
- return 0;
- }
- int get_rate(int sock, struct iwreq* wrq,__s32 rate)
- {
- if(ioctl(sock, SIOCGIWRATE, wrq) < 0)
- {
- perror("Ioctl error");
- return(0);
- }
- return 1;
- }
其中wireless_copy.h可以从madwifi /tools 文件夹中找到。
利用ioctl()获取无线速率的更多相关文章
- 用ioctl获取无线网络信息 /usr//include/linux/wireless.h
1.UNIX Network Programming环境搭建 Unix NetWork Programming――环境搭建(解决unp.h等源码编译问题) http://blog.csdn.net/a ...
- 自己动手写路由器之ioctl获取网络接口信息
最近打算写一个简单路由器,里面有用到ioctl获取网络接口信息,那就先把这部分单独拿出来说一说吧! ioctl这个函数,可以用来对特殊文件的基础设备参数进行操作,它们可以完成与打开文件描述符相关联的控 ...
- (转)利用libcurl获取新浪股票接口, ubuntu和openwrt实验成功(三)
1. 利用 CURLOPT_WRITEFUNCTION 设置回调函数, 利用 CURLOPT_WRITEDATA 获取数据指针 官网文档如下 CALLBACK OPTIONS CURLOPT_WRI ...
- Atitit利用反射获取子类 集合 以及继承树
Atitit利用反射获取子类 集合 以及继承树 想从父类往下找子类的确是不可能的,要知道只要类不是final的话谁都有继承它的自由不需要事前通知父类. Eclipse实现不是重父类开始找而是重子类往回 ...
- 十九、利用OGNL获取ValueStack中:根栈和contextMap中的数据
利用OGNL获取ValueStack中:根栈和contextMap中的数据 原则:OGNL表达式如果以#开头,访问的contextMap中的数据 如果不以#开头,是访问的根栈中的对象的属性(List集 ...
- c#反射机制学习和利用反射获取类型信息
反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等.还可以获得每个成员的 ...
- Cocos2d-x利用CCHttpRequest获取网络图片并显示
利用CCHttpRequest获取网上http地址的图片并缓存到本地生成CCSprite用于显示 //图片结构class imgstruct : public CCObject { public: i ...
- 利用ParameterizedType获取泛型参数类型
//利用ParameterizedType获取java泛型的参数类型 public class Demo { public static void main(String[] args) { ...
- 利用GPS获取行车速度和距离
这几天项目中需要GPS计算汽车的速度和行驶距离,这里简单记录一下使用过程 1 和平常使用地图一样,在Info.plist中添加位置请求 2 在viewdidLoad中初始化locationManage ...
随机推荐
- Unity3D角色攻击范围判定和攻击判定
原地址:http://www.unity蛮牛.com/blog-1801-479.html 第一种方法:运用点乘 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...
- MonthPicker
可以只选择MMM-yyyy的样式,而不需要确定day. http://lucianocosta.info/jquery.mtz.monthpicker/
- memory leak
In computer science, a memory leak occurs when a computer program incorrectly manages memory allocat ...
- hdu2717 Catch That Cow
http://acm.hdu.edu.cn/showproblem.php?pid=2717 //水搜... #include<stdio.h> #include<math.h> ...
- Project Euler 94:Almost equilateral triangles 几乎等边的三角形
Almost equilateral triangles It is easily proved that no equilateral triangle exists with integral l ...
- 我30天在Stack Overflow问答网站上回答问题的感受
想法的萌芽 如果非要总结下我多年来是如何使用Stack Overflow的话,我的答案就是:打开网页,搜索问题,查看Stack Overflow的搜索结果,参考答案,最后再关掉网页. 我的生活已经离不 ...
- C# 对象与JSON串互相转换(转)
DoNet2.0 需要借助于Newtonsoft.Json.dll 代码 using System;using System.IO;using System.Text;using Newtonsoft ...
- 关于ssh的一篇很好的文章
源地址:http://www.w3hacker.com/?p=156 ssh-agent的manual写得倒是挺详细,可看了好几次都没怎么搞明白.08年在网上找到了非常好的一篇文章,An Illu ...
- ActiveMQ集群(2)
ActiveMQ具有强大和灵活的集群功能,但在使用的过程中会发现很多的缺点,ActiveMQ的集群方式主要有两种:Master-Slave和Broker Cluster. 1.Master-Slave ...
- C# Index 定义索---引具体使用2
窗体代码 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;usi ...