| CArpLut | Struct to hold ARP lookup table entry |
| CDetectorConfig | Struct to hold the information about the detector configuration |
| CFrontEndBase | Base class for frontend devices, providing common functionality |
| CFrontEndEntry | Struct to hold the information about a registered frontend device |
| CFrontEndFactory | Factory class for creating and registering frontend objects |
| CFrontEndInterface | Interface for interacting with the frontends, providing methods for reading and writing user registers and fields |
| CI2CMutex | A lock guard to make sure only one thread uses the I2C mutex at a time |
| CLogMessage | Struct representing a log message with sender, message, and log mask |
| COutputQueueBase | Struct to hold the base configuration data for each output queue |
| COutputQueueNonUDP | Struct to hold full configuration for non-UDP output queues with manual addressing |
| COutputQueueUDP | Struct to hold configuration data for output queues using UDP and destination LUT |
| CPacketCountsData | Struct to hold the packet count statistics for a ring or node. This structure stores packet counters, including bulk data packets (odd/even) and overflow statistics |
| CRegBankVersion | Struct to store register bank version information |
| CRegMutex | A class that stores a map of mutexes, one for each register address. Each mutex can be locked or unlocked. The lock and unlock functions receive the register address |
| CRMMAPI | Base class for controlling and monitoring the RMM system |
| CRMMClocks | Class to manage and configure timing and clock synchronization in the RMM system |
| CRMMInfos | Class responsible for retrieving RMM firmware and register bank version info |
| CRMMLog | Class for managing and writing log messages to different log levels and files |
| CRMMOutputQueues | Class for managing and configuring output queues |
| CRMMRails | Class for managing power monitoring and temperature sensing on the RMM FPGA |
| CRMMRegisterAccess | Class to handle register access over the ESS Readout Master Module |
| CRMMResult | Struct to represent the result of an RMM register operation |
| CRMMRings | Classe to manage the setup, configuration, and teardown of RMM rings |
| CRMMSideChannels | Class to manage the configuration and data handling of side channels |
| CRMMUDPCore | Class to manage UDP core functionality including ARP configuration and data handling |
| CSideChannelsData | Struct to hold parameters that define how side channels generate and format data |
| CSideChannelStats | Struct to store the measured frequency and overflow status of a side channel |
| CTimingStatus | Struct to hold timing-related information and status for the RMM |
| CTopology | Class to manage the topology of frontend devices |
| CUDPCoreData | Struct to hold data related to the UDP core |