Also it's bit weird that responder *may* choose to return error if data_size is not suitable. What else it might do? Is it valid (from responder's point of view) to just truncate the value to that it would fit into unsigned int (that would obviously be useless behavior, I'm just curious if it would be compliant based on the man page).
A significant effort was put in to return an error for any integer or real value that couldn't be represented exactly in the returned parameter. This was deemed better than returning a value that couldn't be exactly represented.
Pauli