modbus_report_slave_id - Man Page

returns a description of the controller


int modbus_report_slave_id(modbus_t *ctx, int max_dest, uint8_t *dest);


The modbus_report_slave_id() function shall send a request to the controller to obtain a description of the controller.

The response stored in dest contains:

The function writes at most max_dest bytes from the response to dest so you must ensure that dest is large enough.

Return Value

The function shall return the number of read data if successful.

If the output was truncated due to the max_dest limit then the return value is the number of bytes which would have been written to dest if enough space had been available. Thus, a return value greater than max_dest means that the response data was truncated.

Otherwise it shall return -1 and set errno.


uint8_t tab_bytes[MODBUS_MAX_PDU_LENGTH];


rc = modbus_report_slave_id(ctx, MODBUS_MAX_PDU_LENGTH, tab_bytes);
if (rc > 1) {
    printf("Run Status Indicator: %s\n", tab_bytes[1] ? "ON" : "OFF");


The libmodbus documentation was written by Stéphane Raimbault <>

Referenced By


01/25/2024 libmodbus v3.1.7 libmodbus Manual