Xorg 源码解析 (config)

Xorg 源码解析 (config)

根据主目录下meson.build的定义,将逐步解析xorg内的各种功能。

  • subdir(‘include’)
    这个文件下包含许多头文件,待其他组件使用到时再来查看。

  • subdir(‘config’)
    由此目录下的meson.build得知,主要由config.c,以及其他的一些.c文件(当某些options使能后将使用),同时将配置10-quirks.conf文件的安装规则
    config.c中的函数:
    在这里插入图片描述
    使用的关键结构体:

    1. OdevAttributes
      OdevAttributes 结构体用于存储设备驱动程序的属性,例如设备路径、系统设备路径、DRI 风格的总线 ID、设备文件描述符、设备主设备号和设备次设备号、设备驱动程序名称等。
    2. 提到的InputInfo结构体
      InputInfo 结构体定义了一个名为 inputInfo 的全局变量。
      inputInfo.pointer 是一个核心指针,用于引用虚拟核心指针设备,它可能是 “虚拟核心指针”、“VCP”、“核心指针” 或 “输入信息指针” 中的任何一个。
      inputInfo.keyboard 是核心键盘设备,它与 inputInfo.pointer 类似。
      inputInfo.devices 是一个包含所有设备的链表,包括 VCP 和 VCK。
      inputInfo.off_devices 是一个未初始化的设备列表,它们已被禁用。
      inputInfo.numDevices 是一个表示设备总数的全局变量。
      inputInfo.all_devices 是一个虚拟设备,用于 XIAllDevices 静默捕获。这个设备不是 inputInfo.devices 列表的一部分,并且在大多数情况下未设置,except for the deviceid。它存在的原因是,静默捕获需要一个有效的设备引用。
      inputInfo.all_master_devices 是一个虚拟设备,用于 XIAllMasterDevices 静默捕获。这个设备不是 inputInfo.devices 列表的一部分,并且在大多数情况下未设置,except for the deviceid。它存在的原因是,静默捕获需要一个有效的设备引用。

    Q&A:

    1. Q:meson.build中的dbus,udev,hal,以及openbsd分别是什么
      A:
      • dbus(D-Bus)是一种消息总线系统,用于在Linux和其他Unix-like操作系统上使应用程序能够相互通信。
      • udev是一个Linux内核设备管理系统,用于动态创建和删除设备节点。
      • hal(Hardware Abstraction Layer)是一个在Linux和其他Unix-like操作系统上运行的抽象硬件层。它提供统一的接口来访问硬件,而无需考虑底层设备的具体实现细节。
      • OpenBSD是一个类Unix操作系统,它专注于安全性和代码可审计性。在meson.build中,可能涉及到OpenBSD的特定配置和组件库的使用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值