Skip to content
matt335672 edited this page Jul 21, 2025 · 2 revisions

Scope

This page applies to xrdp v0.10.x

Description

xrdp incorporates a simple transport module which is used for all network-related functionality in xrdp. The main type used by this module is 'struct trans' in common/trans.h.

sesman and associated executables use a library called 'libipm' for message passing. This library is layered on top of the 'struct trans' and provides support for simple, structured messages. A key part of libipm is support for passing file descriptors between different components of xrdp.

The following transports are built on top of libipm:

Abbreviation Name Related processes
EICP Executive Initialisation Control Protocol sesman and sesexec
ERCP Executive Runtime Control Protocol sesman and sesexec
SCP Session Control protocol various processes, and sesman

EICP

This communications channel is setup between sesman and sesexec when sesexec is started by sesman. There is no other way to create this channel.

The channel is used to exchange messages, including authentication, before a session is started by sesexec.

ERCP

This communications channel is used to exchange session control messages between sesman and sesexec, when sesexec has an attached session.

The communications channel is set up by an EICP 'create session' call. Following a successful call, the EICP channel becomes an ERCP channel.

SCP

This communications channel is used by various processes to ask sesman (and sesexec) to perform session management functions.

Clone this wiki locally