2019独角兽企业重金招聘Python工程师标准>>>

参考连接

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <net/if.h>
#include <arpa/inet.h>
#include <linux/sockios.h>int main(int argc, char *argv[]){struct sockaddr_in *addr;struct ifreq ifr;char *address;int sockfd;//char *name = "eth0";char *name = "wlp2s0";if(strlen(name) >= IFNAMSIZ){printf("device name is error.\n");exit(0);}strcpy(ifr.ifr_name, name);sockfd = socket(AF_INET, SOCK_DGRAM, 0);// get inet addrif(ioctl(sockfd, SIOCGIFADDR, &ifr) == -1)printf("inet addr:%s\n", address);addr = (struct sockaddr_in*)&(ifr.ifr_addr);address = inet_ntoa(addr -> sin_addr);printf("inet addr %s\n", address);//get maskif(ioctl(sockfd, SIOCGIFNETMASK, &ifr) == -1){printf("ioctl error.\n");exit(0);}addr = (struct sockaddr_in*)&ifr.ifr_addr;address = inet_ntoa(addr -> sin_addr);printf("Mask: %s\n",address);// get HWaddru_int8_t hd[6];if(ioctl(sockfd, SIOCGIFHWADDR, &ifr) == -1){printf("hwaddr error.\n");exit(0);}memcpy(hd, ifr.ifr_hwaddr.sa_data, sizeof(hd));printf("HWaddr: %02X:%02X:%02X:%02X:%02X:%02X\n",hd[0],hd[1],hd[2],hd[3],hd[4],hd[5]);exit(0);
}

转载于:https://my.oschina.net/innovation/blog/818439

Linux ioctl, fcntl相关推荐

  1. linux ioctl 设备操作函数 r3到r0 应用层 驱动层 通讯

    一.ioctl的简介: 虽然在文件操作结构体"struct file_operations"中有很多对应的设备操作函数,但是有些命令是实在找不到对应的操作函数.如CD-ROM的驱动 ...

  2. linux ioctl函数介绍

    1. 概念 ioctl 是设备驱动程序中设备控制接口函数,一个字符设备驱动通常会实现设备打开.关闭.读.写等功能,在一些需要细分的情境下,如果需要扩展新的功能,通常以增设 ioctl() 命令的方式实 ...

  3. 引用 linux ioctl函数

    http://vic295.blog.163.com/blog/static/74033530200991974322689/ 引用 linux ioctl函数 2009-10-19 19:43:22 ...

  4. Linux 文件锁 fcntl 函数详解

    Linux 文件锁 fcntl 函数详解 #include <unistd.h> #include <fcntl.h> int fcntl(int fd, int cmd); ...

  5. Linux IOCTL

    一.什么是IOCTL 首先,ioctl是一个系统调用. 二.IOCTL有什么用 1.应用场景 The major use of this is in case of handling some spe ...

  6. Linux ioctl FIONREAD 和select 使用

    Linux ioctl FIONREAD 和select 使用 使用select 与ioctl判断socket client是否断开的方式 (1)ioctl + FIONREAD int nsel = ...

  7. linux中断函数中有锁,Linux下fcntl实现建议锁和强制锁

    近日小温下APUE,发现Linux下的 fcntl 实现强制锁的功能好像都没试验过,简单做个测试. 首先用 fcntl 实现建议锁(Advisory locking),比较简单,贴个最简单的代码: # ...

  8. Linux进程缓冲区大小,Linux IOCTL动态命令、动态|自定义缓冲区大小、IOCTL使用大缓冲区的问题...

    深夜睡不着,点根烟起来写点儿东西吧. 一个驱动程序除了具备读写设备的能力之外,其也应当具有对硬件控制的能力.在Windows下用户层代码使用API函数DeviceIoControl,通过传入驱动句柄, ...

  9. linux中fcntl()、lockf、flock的区别

    fcntl().lockf.flock的区别 --lvyilong316 这三个函数的作用都是给文件加锁,那它们有什么区别呢?首先flock和fcntl是系统调用,而lockf是库函数.lockf实际 ...

最新文章

  1. Nacos系列:Nacos的三种部署模式
  2. Educational Codeforces Round 10 A. Gabriel and Caterpillar 模拟
  3. Hadoop辅助工具——Flume、Sqoop
  4. 机器学习之无监督学习——聚类
  5. java java.lang_Java之java.lang.IllegalMonitorStateException
  6. html checkbox 禁用,js禁用checkbox
  7. 手把手教你学会用Delve调试Go程序
  8. Netty Reactor线程模型与EventLoop详解
  9. json java 数据类型_程序员都应该了解的一种数据格式之 JSON
  10. 输入一个天数计算几周零几天 C语言,结构体练习——计算输入的日期为本年度第几天...
  11. linux 开机启动项管理
  12. android学习日记20--连接组件之Intent和IntentFilter
  13. 了解HTML CSS选择器操作和特性
  14. 朱松纯:三读《赤壁赋》,从人工智能的角度解读“心”与“理”的平衡
  15. Keil MDK5安装详细步骤
  16. Scintilla教程(7): 多选以及滚动
  17. 置换矩阵的转置为什么和逆矩阵相等?
  18. js 如何计算当年清明节日期
  19. IP摄像头实现远程目标检测(rtsp)
  20. JavaScript之继承和原型

热门文章

  1. 使用php-amqplib连接rabbitMQ 学习笔记及总结
  2. Linux 监视文件、文件夹改动
  3. 第四章 Python 外壳 :代码结构
  4. Verilog作业(一)
  5. python字符串编码判断
  6. 华为交换机STP的配置实例
  7. linux major头文件_Linux的字符设备
  8. html画图代码_python之matplotlib画图教程(1)
  9. 基础总结篇之八:创建及调用自己的ContentProvider
  10. android 颜色选择类