fcntl 和 ioctl

本文介绍了fcntl函数的五种主要功能,包括复制描述符、设置文件描述符标记等,并重点讲解了如何将描述符设置为非阻塞模式。而ioctl函数虽然与fcntl有重叠,但主要用于影响文件的特定操作,如套接口、文件、接口等操作。详细内容可参照相关参考资料。
摘要由CSDN通过智能技术生成

一、fcntl

fcntl 函数用于执行各种描述符控制操作;

/* 返回值:成功取决于cmd,失败返回-1;
 * 定义:
 */
#include <fcntl.h>
int fcntl(int sockfd, int cmd, /* int arg */);
/* 说明:
 * 第三个参数可有可没有,根据需要给出;
 */

函数有下面5种功能:

  • 复制一个现有的描述符(cmd=F_DUPFD);
  • 获得/设置文件描述符标记(cmd=F_GETFD或F_SETFD);
  • 获得/设置文件状态标记(cmd=F_GETFL或F_SETFL);
  • 获得/设置异步I/O所有权(cmd=F_GETOWN或F_SETOWN);
  • 获得/设置记录锁(cmd=F_GETLK , F_SETLK或F_SETLKW);

这里介绍如何将描述符设置为非阻塞的方法;

flags = fcntl(fd, F_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值