> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IPC 概述

> Qualcomm IPC 协议栈、传输协议和服务接口的生产级指南。

进程间通信（IPC）让运行在不同处理器或不同执行环境中的软件能够交换控制消息和数据。Qualcomm IPC 协议栈将传输、路由和服务语义解耦，使得服务无需依赖于某一条特定的物理链路即可通信。

## IPC 协议栈概览

```mermaid theme={null}
flowchart LR
    App[Client or service] --> QMI[QMI messages]
    QMI --> QRTR[QRTR routing]
    QRTR --> GLINK[GLink transport]
    GLINK --> XPRT[Transport plug-in]
    XPRT --> PHY[Shared Memory / RPM]
    PHY --> Remote[Remote processor]
```

各层职责不同：

| 层         | 职责                                    |
| --------- | ------------------------------------- |
| **GLink** | 通过物理传输移动通道数据，管理通道状态、缓冲区所有权和传输协商。      |
| **QRTR**  | 在节点/端口端点之间路由无连接消息，并提供服务名称发现。          |
| **QMI**   | 定义客户端/服务的消息格式，包括请求、响应、指示以及 TLV 编码的载荷。 |

因此，一次 QMI 事务可能会通过 QRTR 和 GLink 传输，而每一层维护其自身的寻址、流控和生命周期状态。

## 如何使用本指南

当问题涉及传输注册、通道状态、接收意图（receive intent）、缓冲区所有权或子系统重启时，请使用 GLink 章节。当问题涉及服务发现、消息描述符、编码与解码、回调或请求处理时，请使用 QMI 章节。当问题涉及节点、端口、服务查询、路由、套接字端点或路由器控制消息时，请使用 QRTR 章节。

示例采用面向内核的接口和 C 数据结构。名称和常量在用于驱动之前应对照目标内核树进行核对。
