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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • css动画和js动画的差异_css过渡和动画的区别

    css动画和js动画的差异_css过渡和动画的区别在工作中,经常会写点动画效果,常用的方式有CSS动画还有JS动画,根据项目的需求,采用的方案各不相同,但是两者实现的性能分析没有进行对比。总结网上相关资料,在这里简单整理下本文主要讲以下这些内容1、浏览器渲染流程2、回流和重绘3、CSS动画4、JS动画两者对比????1.浏览器的渲染流程渲染流程主要有4个步骤解析HTML生成DOM树解析CSS样式生成CSSOM树,CSSOM树与DOM树结合生成Rendertree布局RenderTree对每个节点进

    2022年10月15日
    2
  • 关于java的JIT知识

    关于java的JIT知识

    2021年11月29日
    38
  • 关于ActionContext.getContext()的使用方法心得

    关于ActionContext.getContext()的使用方法心得

    2021年12月7日
    53
  • 如何防止XSRF攻击

    如何防止XSRF攻击XSRF全称是cross-siterequestforgery(跨站点请求伪造),也称为CSRF,是一种常见的web攻击方式。攻击形式描述如下:1.用户登录并访问一个正常的站点http://www.biz.com;2.在同一个浏览器实例下,用户打开了恶意网站http://www.bad.com;(至于用户怎么会打开这个恶意网站,可能是恶意网站通过一些链接或者垃圾邮件等等形式诱…

    2022年5月19日
    58
  • AppSettings和ConnectionStrings的使用。[通俗易懂]

    AppSettings和ConnectionStrings的使用。[通俗易懂]引用:http://www.cnblogs.com/mikemao/archive/2009/02/02/1382694.htmlAppSettings是ASP.NET1.1时期用的,在.NETFramework2.0中,新增了ConnectionStrings.1.ConnectionStrings的使用<connectionS…

    2022年5月21日
    38
  • HBuilder常用快捷键总结「建议收藏」

    HBuilder常用快捷键总结「建议收藏」HBuilder常用快捷键大概共9类(【4133】文件、编辑、插入;【498】选择、跳转、查找;【116】运行、工具、视图)1.文件(4)新建Ctrl+N关闭Ctrl+F4全部关闭Ctrl+Shift

    2022年5月6日
    193

发表回复

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

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