Skip to main content
Inter-process communication (IPC) lets software running on separate processors or in separate execution environments exchange control messages and data. The Qualcomm IPC stack separates transport, routing, and service semantics so that a service can communicate without depending on one physical link.

IPC stack at a glance

The layers have different responsibilities: A QMI transaction can therefore travel through QRTR and GLink, while each layer maintains its own addressing, flow control, and lifecycle state.

How to use this guide

Use the GLink section when the problem involves transport registration, channel state, receive intents, buffer ownership, or subsystem restart. Use QMI when the problem involves service discovery, message descriptors, encoding and decoding, callbacks, or request handling. Use QRTR when the problem involves nodes, ports, service lookup, routing, socket endpoints, or router control messages. The examples use kernel-oriented interfaces and C data structures. Names and constants should be checked against the target kernel tree before they are used in a driver.