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操作详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux awk 命令
- 下一篇: unix网络编程