自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 OpenHarmony5.0.3之alsa_adapter.json文件的解析

摘要:本文分析了OpenHarmony 5.0.3 Release系统中USB音频适配器识别失败的问题。在展锐7885硬件平台上调试Type-C耳机时,系统因找不到USB adapter导致播放失败,关键报错为"unknow card type error"。文章详细解析了alsa_soundcard.c中CfgGetAdapterCardType()和SndMatchSelAdapter()的代码逻辑,指出系统通过读取/vendor/etc/hdfconfig/alsa_adapter

2025-12-22 14:21:32 638

原创 OpenHarmony5.0.3设置媒体默认输出最大音量

摘要: 本文分析了OpenHarmony 5.0.3 Release系统中媒体音量默认设置为最大值一半的问题。通过grep搜索"defaultLevel"关键字定位到音量配置文件audio_volume_parser.cpp,梳理了音量配置的解析流程。研究发现系统从audio_volume_config.xml配置文件中读取defaultidx属性值作为默认音量级别。文章提供了完整的代码调用链路:从LoadConfig加载配置文件开始,经ParseVolumeConfig、ParseSt

2025-12-22 14:10:38 608

原创 mptcp_parse_option函数代码学习

可以看到linux代码中mptcp选项的每种类型的option的每一位都一一对应于文档中关于option的结构图的每一位,结合着结构图看代码,让人一下子豁然开朗。总的来说这个函数就是按照RFC8684文档中的规则解析skb中mptcp相关的option信息,然后存入struct mptcp_options_received结构中。

2024-11-29 10:30:07 428

原创 mptcp_get_options函数分析

获取选项TCPOPT_MPTCP类型的的option的数据。

2024-11-26 18:04:26 952

原创 netlink_is_kernel函数分析

判断该套接字是否被标记为“内核空间”的套接字。

2024-11-13 15:12:58 270

原创 net/mptcp/crypto.c文件源码分析

利用key(密钥)和msg(信息)进行加密得到256位的哈希值,表示消息和密钥的认证结果hmac。

2024-11-11 10:46:27 310

原创 net/mptcp/mib.c文件源码分析

这个文件的主要作用是1.为每个cpu申请一份struct mptcp_mib内存2.将mptcp的mib信息从net命名空间获取,然后给到seq_file结构中。

2024-11-10 12:36:16 390

原创 mptcp_syn_options函数

在mptcp三次握手发送syn包时会调用mptcp_syn_options函数填充syn包关于mptcp的相关options,在函数中会通过subflow中的成员判断,是主sock还是子流sock,然后填充不同的options的值。

2024-11-04 11:38:22 247

原创 net_generic函数分析

【代码】net_generic函数分析。

2024-11-01 11:46:21 183

原创 MIN_PERNET_OPS_ID宏

在许多系统中,结构体的大小必须是某个特定值(通常是指针大小)的倍数,以满足对齐要求。通过加上指针的大小,可以确保在整除时向上取整,从而获得正确的内存块数量。大多数情况下,系统会以指针的大小为单位来分配内存。通过将结构体的大小除以指针的大小,可以确定你需要多少个这样的单位来满足对齐和存储的需求。)时,确保分配的内存足够大且对齐正确是非常重要的。这样可以确保分配的内存足够容纳结构体,同时满足对齐要求。,那么只会分配 1 个指针大小的内存(8 字节),这样不够用。,表示你需要至少 2 个指针大小的内存块。

2024-11-01 10:56:29 202

原创 我想将MobaXterm中敲的命令和输出记录到某个文件

我想将MobaXterm中敲的命令和输出记录到某个文件,这样做的好处是当你忘记了之前做的某个任务时的一些细节是可以通过记录的文件找回之前的操作,另一方面可以将自己的操作步骤发送给客户,这样客户就可以快速部署一些任务而省了一些沟通的麻烦。要重新打开一个ssh才能使终端的设置生效,之前我设置了一直没有看到log文件的生成就是没有重新开启一个ssh。

2024-10-31 17:01:33 1328

原创 netlink层的数据发送有两个方向

netlink层的数据发送有两个方向

2024-10-30 18:09:21 284

原创 kernel_getsockname函数和kernel_getpeername函数

kernel_getsockname函数获取与给定套接字 (socket) 绑定的地址kernel_getpeername函数获取与给定套接字 (socket) 连接的对端地址。

2024-10-26 16:04:28 322

原创 tcp_prot在proto_register和inet_register_protosw中的联系

proto_register和inet_register_protosw函数中使用的是同一个struct proto tcp_prot。

2024-10-26 15:06:02 227

原创 proto_register函数代码分析

将一个struct proto结构插入全局链表proto_list中完成注册。

2024-10-26 14:38:24 332

原创 inet_register_protosw函数代码分析

完成一个新的inet_protosw注册到inetsw[]中。

2024-10-26 10:22:11 189

原创 kernel_sock_shutdown函数分析

简短来说就是改变socket连接状态,然后发送FIN包。

2024-10-25 15:44:06 190

原创 kernel_sock_ip_overhead函数分析

用于计算与指定套接字(socket)相关的 IP 头部的开销。它返回了套接字所使用的 IP 协议(IPv4 或 IPv6)所引入的开销,包括 IP 头部的长度以及如果在套接字上启用了 IP 选项所增加的长度。

2024-10-24 18:16:38 274

原创 sysfs_remove_link函数分析

用于从内核对象的目录中移除符号链接。

2024-10-24 16:36:07 257

原创 sysfs_rename_link_ns函数分析

它的主要作用是在内核文件系统(kernfs)中将一个节点移到新的父节点,并给它指定一个新的名称和命名空间。

2024-10-24 15:44:46 288

原创 kernfs_find_and_get_ns函数分析

根据指定的名称在给定的父节点下查找一个kernfs_node,并在找到时获取该节点的引用。

2024-10-24 14:15:56 265

原创 mount.c文件源码学习

mount.c文件源码学习

2024-10-23 16:31:47 280

原创 list_del函数代码分析

删除双向链表中的一个项。

2024-10-23 15:27:07 523

原创 kernfs_super_ns函数代码分析

返回与该kernfs超级块相关联的命名空间标签ns

2024-10-23 14:38:29 211

原创 第一个struct user_namespace实例

第一份用户命名空间的内容哪里来的

2024-10-22 17:16:38 230

原创 我记忆container_of函数的方法

第三个参数是小在大中的成员名。第一个参数为小的指针。第二个参数是大的类型。

2024-10-22 15:50:56 206

原创 register_filesystem函数分析

【代码】register_filesystem函数分析。

2024-10-22 15:09:29 307

原创 find_filesystem函数分析

【代码】find_filesystem函数分析。

2024-10-22 14:39:01 212

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除