Provided by: libsystemd-dev_245.4-4ubuntu3_amd64 bug


       sd_bus_message_read_array - Access an array of elements in a message


       #include <systemd/sd-bus.h>

       int sd_bus_message_read_array(sd_bus_message *m, char type, const void **ptr,
                                     size_t *size);


       sd_bus_message_read_array() gives access to an element array in message m. The "read
       pointer" in the message must be right before an array of type type. As a special case,
       type may be NUL, in which case any type is acceptable. A pointer to the array data is
       returned in the parameter ptr and the size of array data (in bytes) is returned in the
       parameter size. If size is 0, a valid non-null pointer will be returned, but it may not be
       dereferenced. The data is aligned as appropriate for the data type. The data is part of
       the message — it may not be modified and is valid only as long as the message is
       referenced. After this function returns, the "read pointer" points at the next element
       after the array.

       Note that this function only supports arrays of trivial types, i.e. arrays of booleans,
       the various integer types, as well as floating point numbers. In particular it may not be
       used for arrays of strings, structures or similar.


       On success, sd_bus_message_read_array() returns 0 or a positive integer. On failure, it
       returns a negative errno-style error code.

       Returned errors may indicate the following problems:

           Specified type is invalid or not a trivial type (see above), or the message parameter
           or one of the output parameters are NULL.

           The byte order in the message is different than native byte order.

           The message is not sealed.

           The message cannot be parsed.


       systemd(1), sd-bus(3), sd_bus_message_read(3)