首页 > 其他分享 >raw_prot

raw_prot

时间:2023-06-01 10:34:37浏览次数:27  
标签:compat getsockopt prot sock raw ioctl inet

{ 

      .type =       SOCK_RAW, 

      .protocol =   IPPROTO_IP, 
 /* wild card */ 

      .prot =       &raw_prot, 

      .ops =        &inet_sockraw_ops, 

      .flags =      INET_PROTOSW_REUSE, 
       }

 struct proto raw_prot = {
.name   = "RAW",
.owner    = THIS_MODULE,
.close    = raw_close,
.destroy    = raw_destroy,
.connect    = ip4_datagram_connect,
.disconnect    = udp_disconnect,
.ioctl    = raw_ioctl,
.init   = raw_init,
.setsockopt    = raw_setsockopt,
.getsockopt    = raw_getsockopt,
.sendmsg    = raw_sendmsg,
.recvmsg    = raw_recvmsg,
.bind   = raw_bind,
.backlog_rcv    = raw_rcv_skb,
.release_cb    = ip4_datagram_release_cb,
.hash   = raw_hash_sk,
.unhash    = raw_unhash_sk,
.obj_size    = sizeof(struct raw_sock),
.h.raw_hash    = &raw_v4_hashinfo,
 #ifdef CONFIG_COMPAT
.compat_setsockopt = compat_raw_setsockopt,
.compat_getsockopt = compat_raw_getsockopt,
.compat_ioctl    = compat_raw_ioctl,
 #endif
 };
 /*
  * For SOCK_RAW sockets; should be the same as inet_dgram_ops but without
  * udp_poll
  */
 static const struct proto_ops inet_sockraw_ops = {
.family    = PF_INET,
.owner    = THIS_MODULE,
.release    = inet_release,
.bind   = inet_bind,
.connect    = inet_dgram_connect,
.socketpair    = sock_no_socketpair,
.accept    = sock_no_accept,
.getname    = inet_getname,
.poll   = datagram_poll,
.ioctl    = inet_ioctl,
.listen    = sock_no_listen,
.shutdown    = inet_shutdown,
.setsockopt    = sock_common_setsockopt,
.getsockopt    = sock_common_getsockopt,
.sendmsg    = inet_sendmsg,
.recvmsg    = inet_recvmsg,
.mmap   = sock_no_mmap,
.sendpage    = inet_sendpage,
 #ifdef CONFIG_COMPAT
.compat_setsockopt = compat_sock_common_setsockopt,
.compat_getsockopt = compat_sock_common_getsockopt,
.compat_ioctl    = inet_compat_ioctl,
 #endif
 };

标签:compat,getsockopt,prot,sock,raw,ioctl,inet
From: https://blog.51cto.com/u_11860992/6392714

相关文章

  • input()与raw_input()
    首先,我们知道input()和raw_input()都是用来获取控制台的输入,当然输入的时候可以加上输入提示信息:    a=raw_input("Pleaseinputa:")    b=input("Pleaseinputb:")那么这两者有什么区别呢?input()支持用户输入数字或者表达式,不支持输入字符串,返回的......
  • WPF基础入门——绘画和动画(Draw&Animation)
    本篇文章学习于:刘铁猛老师《深入浅出WPF》XAML语言针对的是界面美化问题,可以让设计师直接加入开发团队、降低沟通成本。XAML的图形绘制功能非常强大,可以轻易绘制出复杂的图标、图画。WPF支持“滤镜”功能,可以像Photoshop那样为对象添加各种效果。WPF原生支持动画开发,无论是设......
  • HTTP HyperText Transfer Protocol 超文本传输协议
    http是在TCP上层的应用协议,基础协议到TCP/UDP就结束了,剩下的是应用协议。应用协议都是在TCP/UDPpayload中,根据需求制定的标准。请求请求包括:请求行(requestline)、请求头部(header)、空行和请求数据四个部分组成。请求有多种方法,比如我们常见的GET,POST等。响应响应包括:状态......
  • Flutter的RawMaterialButton按钮
    RawMaterialButton介绍简介Flutter的RawMaterialButton是一个具有原始材料样式的可点击的按钮控件。它可以用于创建自定义的按钮和交互元素,具有许多可自定义的属性。自定义更灵活。重要属性以下是RawMaterialButton的一些常用属性:onPressed:必需属性,指定按钮按下时的回调函数......
  • MxDraw(在线CAD,H5开发CAD) 2023.05.23更新
    1. 完善了CAD在线编辑功能2. 增加addControlsEvent函数3. 修改Linux下,转换大图纸时,有部分照出当前视范围 ,就不显示问题4. 在CAD打开图纸增加多线程支持5. 修改片元程序编译加载失败问题6. 修改iconv 在centos7上不对问题7. 增加对对象的引用计数判断,防止对象被释放......
  • proteus仿真串口
    下载VSPD下载地址安装过程没有坑,装在D盘也没事,但是只有十四天的体验这个下载地址,懂得都懂打开VSPD点addvirtualpair,就把com1和com2连起来了打开两个串口助手,注意波特率等设置要设置一样。串口一发数据,因为串口一通过VSPD连到串口二了,因此串口二会收到数据proteus里添加虚拟......
  • js原型prototype(实例构造函数的属性) __proto__(实例对象的属性) constructor(实例
    functionPerson(name,age){this.name=namethis.age=age}Person.prototype.sayHi=function(){//原型是公共方法解决构造函数new对象公共属性和方法的内存浪费console.log(this.name+'sayhi!!')}constp1=newPerson('aa',12)constp2=new......
  • ProtoBuf简介
    proto简介一、protobuf的定义protobuf是一种用于序列化结构数据的工具,实现数据的存储与交换,与编程语言和开发平台无关。序列化:将结构数据或者对象转换成能够用于存储和传输的格式。反序列化:在其他的计算环境中,将序列化后的数据还原为结构数据和对象。定义数据的结构,然后使用p......
  • ProtoBuf_Win编译安装
    ProtoBufWindows编译和安装1.先安装cmakeprotocolbuffer的编译需要安装cmake,可到https://cmake.org/下载并安装。2.下载ProtoBufprotobufv3.19.4开源链接:ReleaseProtocolBuffersv3.19.4·protocolbuffers/protobuf(github.com)3.解压之后,按照cmake文件夹中的rea......
  • scrapy:CrawlSpider及其案例
    1.CrawSpider介绍运行原理:2.pymysqlcondainstallpymysql3.案例-读书网爬虫&数据入库3.1案例需求3.2网页分析3.3创建爬虫项目3.4创建爬虫文件(与之前有区别)scrapygenspider-tcrawlreadhttps://www.dushu.com/book/1188.html3.5实现爬虫impor......