LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1611|回复: 1

ioctl()函数是干什么用的?

[复制链接]
发表于 2005-3-19 15:46:10 | 显示全部楼层 |阅读模式
我想把/sbin/ifconfig 做到initrd里面去,并且initrd启动时便运行/sbin/ifconfig eth0 up
可是每次启动总是失败。ERROR:eth0 unknown device!!
读了ifconfig。c后,发现是
struct ifreq ifr;
ioctl(skfd, SIOCGIFFLAGS, &ifr) 这句话返回值总是小于0;
请问这句话是干什么用的?
发表于 2005-3-22 02:16:19 | 显示全部楼层
对套接字属性进行控制,这样的函数有两个,一个是fcntl,另一个就是ioctl。

ioctl(io control)就是输入输出控制,它的应用范围很广,包括套接字、文件、接口、ARP、路由和流等的控制。

定义格式:
#include <unistd.h>

int ioctl(int sockfd, long cmd, unsigned long *argp);

参数:
sockfd是需要操作的套接字描述符;cmd是属性类型;argp是属性的参数。

更详细的说明,可以找一本关于Linux网络编程的书看看。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表