Among computer network protocols, the Communication CPU to Application CPU Interface (CAIF) is a packet-based connection-oriented MUX protocol developed by ST-Ericsson. It is the primary protocol used to communicate between ST-Ericsson cellular modems and the external host system. The host processes can open virtual AT channels, initiate GPRS data connections, Video Channels and Utility Channels. The Utility Channels are general purpose pipes between modem and host. ST-Ericsson modems support a number of transports between modem and host. Currently, UART and Loopback are available for Linux. It was merged into the Linux kernel 2.6.35, committed by Sjur Braendeland of ST-Ericsson. The protocol family is PF_CAIF and the address family is AF_CAIF. A CAIF socket is connection-oriented, implementing the SOCK_SEQPACKET and the SOCK_STREAM interface with supporting blocking and non-blocking modes. Devices can be managed by RTNL. There are two device profiles for the link layer, high-bandwidth or low-latency.
|