ioctl , fcntl socket操作详解
nt ioctl( int fd, int request, .../* void *arg */ );
返回0:成功 -1:出错
第三个参数总是一个指针,但指针的类型依赖于request参数。
我们可以把和网络相关的请求划分为6类:
套接口操作
文件操作
接口操作
ARP高速缓存操作
路由表操作
流系统
下表列出了网络相关ioctl请求的request参数以及arg地址必须指向的数据类型:
类别 |
Request |
说明 |
数据类型 |
套 |
SIOCATMARK |
是否位于带外标记 |
int |
文 |
FIONBIN |
设置/ 清除非阻塞I/O 标志 |
int |
接 |
SIOCGIFCONF |
获取所有接口的清单 |
struct ifconf |
ARP |
SIOCSARP |
创建/ 修改ARP 表项 |
struct arpreq |
路 |
SIOCADDRT |
增加路径 |
struct rtentry |
流 |
I_xxx |
socket最常用到的结构体: struct ifreq 定义在<net/if.h>.(包括struct ifconf/ifr_flags等的定义)
ioctl , fcntl socket操作详解相关推荐
- PHP SOCKET编程详解
这篇文章主要介绍了PHP SOCKET编程详解,需要的朋友可以参考下 1. 预备知识 一直以来很少看到有多少人使用php的socket模块来做一些事情,大概大家都把它定位在脚本语言的范畴内吧,但是其实 ...
- Socket模型详解
Socket模型详解 两种I/O模式 一.选择模型 二.异步选择 三.事件选择 四.重叠I/O模型 五.完成端口模型 五种I/O模型的比较 两种I/O模式 1. 两种I/O模式 阻塞模式:执行I/O操 ...
- C 和 C++ 文件操作详解
来源:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551662.html 来源:http://www.cnblogs.com/likebet ...
- VC++常用数据类型及其操作详解 [
一.VC常用数据类型列表 二.常用数据类型转化 2.1数学类型变量与字符串相互转换 2.2 CString及string,char *与其他数据类型的转换和操作 ●CString,string,cha ...
- VC++常用数据类型及其操作详解(非常经典,共同分享)
友情提示: 为了方便你更好的学习和阅读,也更好的体现尊重原创作者的劳动成果,请您直接查看转载原本链接: http://snailflying.blog.hexun.com/8219350_d.html ...
- VC++常用数据类型及其操作详解
一.VC常用数据类型列表 二.常用数据类型转化 2.1数学类型变量与字符串相互转换 2.2 CString及string,char *与其他数据类型的转换和操作 ●CString,string,cha ...
- Linux的SOCKET编程详解
Linux的SOCKET编程详解 一. 网络中进程之间如何通信 进程通信的概念最初来源于单机系统.由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统 ...
- socket接口详解
socket接口详解 socket概述 接口详解 socket() bind() listen() accept() connect() send() recv() sendto() recvfrom ...
- 常用socket函数详解
常用socket函数详解 关于socket函数,每个的意义和基本功能都知道,但每次使用都会去百度,参数到底是什么,返回值代表什么意义,就是说用的少,也记得不够精确.每次都查半天,经常烦恼于此.索性都弄 ...
最新文章
- js各种图表组件网站
- 【django轻量级框架】django项目部署到阿里云服务器流程
- Node.js 连接数据库
- 每天一个linux命令:cat
- 论文阅读:Joint Learning of Single-image and Cross-image Representations for Person Re-identification
- Leetcode 144. 二叉树的前序遍历 (每日一题 20210820)
- snmp 获取 虚拟机硬盘_服务器出故障了怎么办?SNMP告警七步走
- python 源码保护_Python代码保护
- css align-items的测试
- python 最优化算法库_哈工大硕士生用?Python 实现了 11 种经典数据降维算法,源代码库已开放...
- python不同模式打开文件的完全列表
- sqlite排序规则
- list 转 json,以及 json 解析
- JSP常用内置对象方法
- Visual Studio 2017 企业版密匙
- fatal: bad boolean config value ‘“false”‘ for ‘http.sslverify
- 残忍的世界,我们要学会要坚强。
- LeetCode 167.Two Sum II 解题报告
- 挑战杯获奖作品_小挑战杯-创青春创新创业竞赛
- 18个开源的Java CMS
热门文章
- LeetCode OJ:Construct Binary Tree from Preorder and Inorder Traversal(从前序以及中序遍历结果中构造二叉树)...
- Cannot create a session after the response has been committed
- Can't connect to MySQL server on 'localhost' (1...
- 第五章 MongoDb索引优化 5.6
- Nokia手机短信发件人显示乱码问题解决
- Gym - 101173H Hangar Hurdles(bfs+克鲁斯卡尔重构树)
- HDU - 5017 Ellipsoid(三分套三分/模拟退火)
- HDU - 5876 Sparse Graph(bfs+set)
- java 线程池 状态_【Java多线程】线程状态、线程池状态
- Timus1286(欧几里德算法的应用)