Data sent by the client on the serial controller is received by the library and stored in an internal buffer. This function retrieves SOL data that has been stored. The user should poll for new data periodically and then loop over IMR_SOLReceiveText until the len parameter is zero to avoid data loss due to the buffer overflowing. This is similar to having to receive data from a socket to avoid it being lost if the socket buffer becomes full. This function should not be called if the SOL session was opened in loopback mode, since in loopback mode the client will loopback all its data to itself, and would not send data to the library.

Function Header

IMRResult IMR_SOLReceiveText(

ClientID id,

unsigned char *data,

int *len


Function Parameters



Value or Description



The ID of the relevant client.



A pointer to a buffer into which received data will be copied. This parameter must not be NULL.



Input: A pointer to an integer holding the size available in the specified data buffer.

Output: The library updates this variable to the actual number of bytes that were copied into the buffer. If after returning, the value is 0, this means no data is pending to be received. This parameter must not be NULL.

Function Return Status

For a complete list of possible error codes, see Error Codes.


Value or Description


The command finished successfully.


The session is in loopback mode.

Copyright © 2006-2022, Intel Corporation. All rights reserved.