linux+ioctl函数返回值,linux下ioctl()函数使用的详细说明

ioctl函数在Linux中用于影响已打开的文件,如套接字操作、文件操作和接口操作。请求类型如SIOCATMARK、SIOCSPGRP等,参数类型依赖于请求类型。例如,SIOCATMARK用于检查套接口是否位于带外标记,SIOCGIFADDR用于获取接口地址。此外,ioctl还涉及ARP高速缓存和路由表的操作。
摘要由CSDN通过智能技术生成

ioctl 函数

本函数影响由fd 参数引用的一个打开的文件。

#include

int ioctl( int fd, int request, ... );

返回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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值