日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ioctl , fcntl socket操作详解

發布時間:2024/2/28 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ioctl , fcntl socket操作详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

nt ioctl( int fd, int request, .../* void *arg */ );
返回0:成功??? -1:出錯

第三個參數總是一個指針,但指針的類型依賴于request參數。
我們可以把和網絡相關的請求劃分為6類:
套接口操作
文件操作
接口操作
ARP高速緩存操作
路由表操作
流系統
下表列出了網絡相關ioctl請求的request參數以及arg地址必須指向的數據類型:


類別

Request

說明

數據類型

?
?

SIOCATMARK?
SIOCSPGRP?
SIOCGPGRP

是否位于帶外標記?
設置套接口的進程ID 或進程組ID?
獲取套接口的進程ID 或進程組ID

int?
int?
int

?

FIONBIN?
FIOASYNC
?
FIONREAD?
FIOSETOWN?
FIOGETOWN

設置/?清除非阻塞I/O 標志?
設置/ 清除信號驅動異步I/O 標志?
獲取接收緩存區中的字節數?
設置文件的進程ID 或進程組ID?
獲取文件的進程ID 或進程組ID

int?
int?
int?
int?
int

?

SIOCGIFCONF?
SIOCSIFADDR?
SIOCGIFADDR?
SIOCSIFFLAGS?
SIOCGIFFLAGS?
SIOCSIFDSTADDR?
SIOCGIFDSTADDR?
SIOCGIFBRDADDR?
SIOCSIFBRDADDR?
SIOCGIFNETMASK?
SIOCSIFNETMASK?
SIOCGIFMETRIC?
SIOCSIFMETRIC?
SIOCGIFMTU?
SIOCxxx

獲取所有接口的清單?
設置接口地址?
獲取接口地址?
設置接口標志?
獲取接口標志?
設置點到點地址?
獲取點到點地址?
獲取廣播地址?
設置廣播地址?
獲取子網掩碼?
設置子網掩碼?
獲取接口的測度?
設置接口的測度?
獲取接口MTU?
(還有很多取決于系統的實現)

struct ifconf?
struct ifreq?
struct ifreq?
struct ifreq?
struct ifreq?
struct ifreq?
struct ifreq?
struct ifreq?
struct ifreq?
struct ifreq?
struct ifreq?
struct ifreq?
struct ifreq?
struct ifreq

ARP

SIOCSARP?
SIOCGARP?
SIOCDARP

創建/?修改ARP 表項?
獲取ARP 表項?
刪除ARP 表項

struct arpreq?
struct arpreq?
struct arpreq

?

SIOCADDRT?
SIOCDELRT

增加路徑?
刪除路徑

struct rtentry?
struct rtentry

I_xxx

?

?

socket最常用到的結構體: struct ifreq 定義在<net/if.h>.(包括struct ifconf/ifr_flags等的定義)




總結

以上是生活随笔為你收集整理的ioctl , fcntl socket操作详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。