类别 请求 描述 数据类型 套接口 SIOCATMASK 在带外标志上吗 int SIOCSPGRP 设置套接口的进程ID和进程组ID int SIOCGPGPR 获取套接口的进程ID和进程组ID int 类别 请求 描述 数据类型 文件操作 FIONBIO 设置/清除非阻塞标志 int FIOASYNC 设置/清除异步I/O标志 int FIONREAD 获取接收缓冲区中数据的字节数 int FIOSETOWN 设置文件的进程ID或进程组ID int FIOGETOWN 获取文件的进程ID或进程组ID int 类别 请求 描述 数据类型 接口 SIOCGIFCONF 获取所有接口的列表 struct ifconf SIOCSIFADDR 设置接口地址 struct ifreq SIOCGIFADDR 获取接口地址 struct ifreq SIOCSIFFLAGS 设置接口标志 struct ifreq SIOCGIFFLAGS 获取接口标志 struct ifreq SIOCSIFDSTADDR 设置点对点地址 struct ifreq SIOCGIFDSTADDR 获取点对点地址 struct ifreq SIOCGIFBRDADDR 获取广播地址 struct ifreq SIOCSIFBRDADDR 设置广播地址 struct ifreq SIOCGIFNETMASK 获取子网掩码 struct ifreq SIOCSIFNETMASK 设置子网掩码 struct ifreq SIOCGIFMETRIC 获取接口的测度(metric) struct ifreq SIOCSIFMETRIC 设置接口的测度(metric) struct ifreq SIOCxxx 类别 请求 描述 数据类型 ARP SIOCSARP 创建/修改ARP项 struct arpreq SIOCGARP 获取ARP项 struct arpreq SIOCDARP 删除ARP项 struct arpreq 类别 请求 描述 数据类型 路由 SIOCADDRT 增加路径 struct rtentry SIOCDELRT 删除路径 struct rtentry
UNIX网络编程 -- 第十六章 ioctl操作
最新推荐文章于 2021-03-03 15:08:44 发布
第十六章 ioctl操作
传统上ioctl函数是用于那些普遍使用,但不适合归入其他类别的任何特性的系统接口。Posix去掉了ioctl,它通过
创建特殊的其功能已被Posix标准化的包裹函数来代替ioctl。这一章介绍和网络编程有关的ioctl操作。
1. ioctl函数
int ioctl(int d, int request, ...);
和网络有关的ioctl请求有6类:
套接口操作
文件操作
接口操作
ARP高速缓存操作
路由表操作
流系统
2. 套接口操作
SIOCATMASK: 如果套接口的读指针在带外标志上,则通过第三个参数指向的整数返回一个非零值,否则返回零。
3. 文件操作
FIONBIO: 这个请求和用fcntl的F_SETFL命令设置和清除O_NONBLOCK标志效果相同。
4. 接口配置
5. ARP
6. 路由