fcntl和ioctl_Liverpool fc

fcntl和ioctl_Liverpool fc一、fcntlfcntl函数用于执行各种描述符控制操作;/*返回值:成功取决于cmd,失败返回-1;*定义:*/#includeintfcntl(intsockfd,intcmd,/*intarg*/);/*说明:*第三个参数可有可没有,根据需要给出;*/函数有下面5种功能:复制一个现有的描述符(cmd=F_DUPFD);获得/

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一、fcntl

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

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

Jetbrains全家桶1年46,售后保障稳定

函数有下面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_GETFL, 0);
fcntl(fd, F_SETFL, flags | O_NONBLOCK);
/* 通过fcntl获取当前描述符fd的文件状态标记, * 然后将之与非阻塞标志O_NONBLOCK进行或操作再进行设置; */

其他功能详细介绍参考:fcntl函数详解

二、ioctl

ioctl函数一些功能与fcntl函数是重叠的,主要功能为影响由参数fd打开的文件。

/* 返回值:成功返回0,出错返回-1;*/
#include <unistd.h>
int ioctl(int fd, int request, /* void *arg */);
/* 说明: * fd为描述符,request为执行操作参数,由一系列定义的宏来决定,arg为一个指针, * 类型由request决定; */

ioctl与网络相关的请求可以划分为6类:

  • 套接口操作
  • 文件操作
  • 接口操作
  • ARP 高速缓存操作
  • 路由表操作
  • 流系统

对于每一种操作,都有几个不同的功能参数,这里不详细介绍,具体参考:ioctl用法详解;或UNIX网络编程卷1 :套接字联网API;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226889.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月22日 下午4:15
下一篇 2025年6月22日 下午4:43


相关推荐

  • 教程 Tags

    教程 Tags

    2026年3月15日
    4
  • 一种成熟的MODBUS调试测试工具助手上位机软件(MThings) 免费中文

    一种成熟的MODBUS调试测试工具助手上位机软件(MThings) 免费中文一种成熟的MODBUS调试测试工具助手软件(MThings)免费中文现有MODBUS调测软件种类丰富,基本可以满足日常调测需求,但是面对用户群体对高效灵活友好的进一步需求都存在着差距。MThings是一款全新的标准化MODBUS调测工具,提供主从机一体化操作。全功能覆盖MODBUSPollSlave,功能全网最强。

    2022年5月31日
    56
  • 网上英语学习资源大整理

    网上英语学习资源大整理 翻译http://www.bilinguist.com/汉英论坛,高手云集[url]http://www.chinatranslate.net/[/url]中国翻译网,号称全国最大的翻译专业网站[url]http://gb.transea.com/[/url]机器即时翻译,适合整体翻译网站及段落,但不够准确。适合一般人[url]http://www.si-chi…

    2025年7月24日
    10
  • Linux防火墙管理

    Linux防火墙管理Linux防火墙管理防火墙类似于一个安全卫士管家,它能对你访问别人电脑,别人访问你的电脑,进行拦截并处理,有的阻止,有的放行,有的转发。​在默认情况下,Linux系统的防火墙状态是打开的,已经启动,CentOS7默认使用的是firewall作为防火墙。用户根据需求在/etc/sysconfig/firewalld配置文件中来配置防火墙,控制本机的“出、入”网络访问行为,其对行为的配置…

    2022年6月2日
    44
  • 不能复制文字的网页文字复制怎么办_实现网页布局的方法

    不能复制文字的网页文字复制怎么办_实现网页布局的方法想必很多小伙伴遇到过这样的情况,在网上查找很多的资料,但是因为网页本身的限制不允许复制或者需要付费:遇到这种情况应该怎么办呢?接下来,就和大家分享下如何免费复制网页上不能复制的文字!解决方法一:转到打印界面进行复制:在需要复制文字的界面鼠标右键选择打印或者使用快捷键Ctrl+P,打开打印界面,在打印界面就可以进行复制操作啦!解决方法二:源代码界面复制在需要复制文字的界面鼠标右键选择“查看网页源代码”或者使用快捷键Ctrl+U,打开源代码界面,在源代码界面找到自己要复制的内容复

    2022年10月13日
    5
  • Java修饰符总结

    Java修饰符总结Java 修饰符下表列出所有 Java 修饰符 并说明了各自能修饰的 Java 结构种类和作用修饰符用于意义 abstract 类接口方法这个类不能被实例化 而且可能包含未实现的方法所有接口都是抽象的 声明接口时这个修饰符是可选的这个方法没有主体 主体由子类提供 签名后面是一个分号 所在的类必须也是抽象的 default 方法这个接口方法的实现是可选的

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号