读书人

UNIX网络编程-ioctl操作(十七)

发布时间: 2013-10-08 16:55:16 作者: rapoo

UNIX网络编程--ioctl操作(十七)
一、概述

在本书中有两个地方都对这个函数进行了介绍,其实还有很多地方需要这个函数。ioclt函数传统上一直作为纳西而不适合归入其他精细定义类别的特性的系统接口。网络程序(特别是服务器程序)经常在程序启动执行后使用ioctl获取所在主机全部网络接口的信心,包括:接口地址、是否支持广播、是否支持多播。

二、ioctl函数


三、套接字操作

明确要求套接字ioctl请求有三个,它们都要求ioctl的第三个参数是指向某个整数的一个指针。

1)SIOCATMARK 如果本套接字的读指针当前位于带外标记,那就通过由第三个参数指向的帧数放回一个非0值,否则返回一个0值。

2)SIOCGPGRP 通过由第三个参数指向的整数返回本套接字的进程ID或进程组ID,该ID指定针对本套接字的SIGIO或SIGURG信号的接受进程。

3)SIOCSPGR 本套接字的进程ID或进程组ID设置成由第三个参数指向的整数,该ID指定对本套接字的SIGIO或SIGURG信号的接受进程。

四、文件操作

以FIO打头的可能还适用于除套接字外某些特定类型的文件。都要求ioctl的第三个参数指向一个帧数。

1)FIONBIO 根据ioctl的第三个参数指向一个0值或非0值,可消除或设置本套接字的非阻塞式I/O标志。本请求和O_NONBLOCK文件状态标志等效,而可以通过fcntlde F_SETFL命令清除或设置该标志。

2)FIOASYNC 根据ioctl的第三个参数指向一个0值或非0值,可消除或设置本套接字的信号驱动异步I/O标志,它决定是否收取针对本套接字的异步I/O信号。本请求和O_ASYNC文件状态标志等效,而可以通过fcntl的F_SETFL命令清除或设置该标志

3)FIONREAD 通过由ioctl的第三个参数指向的整数返回当前在本套接字接受缓冲区中的字节数。

4) FIOSETOWN 对于本套接字和SIOCSPGRP等效

5) FIOGETOWN 对于套接字和SIOCGPGRP等效。

五、接口配置六、get_ifi_info函数七、接口操作八、arp高速缓存操作九、路由表操作

读书人网 >编程

热点推荐