1SD_BUS_MESSAGE_READ_ARRAY(3)sd_bus_message_read_arraSyD_BUS_MESSAGE_READ_ARRAY(3)
2
3
4

NAME

6       sd_bus_message_read_array - Access an array of elements in a message
7

SYNOPSIS

9       #include <systemd/sd-bus.h>
10
11       int sd_bus_message_read_array(sd_bus_message *m, char type,
12                                     const void **ptr, size_t *size);
13

DESCRIPTION

15       sd_bus_message_read_array() provides access to an array elements in the
16       bus message m. The "read pointer" in the message must be right before
17       an array of type type. As a special case, type may be NUL, in which
18       case any trivial type is acceptable. A pointer to the array data is
19       returned in the parameter ptr and the size of array data (in bytes) is
20       returned in the parameter size. If the returned size parameter is 0, a
21       valid non-null pointer will be returned as ptr, but it may not be
22       dereferenced. The data is aligned as appropriate for the data type. The
23       data is part of the message — it may not be modified and is valid only
24       as long as the message is referenced. After this function returns, the
25       "read pointer" points at the next element after the array.
26
27       Note that this function only supports arrays of trivial types, i.e.
28       arrays of booleans, the various integer types, as well as floating
29       point numbers. In particular it may not be used for arrays of strings,
30       structures or similar.
31

RETURN VALUE

33       On success and when an array was read, sd_bus_message_read_array()
34       returns an integer greater than zero. If invoked while inside a
35       container element (such as an array, e.g. when operating on an array of
36       arrays) and the final element of the outer container has been read
37       already and the read pointer is thus behind the last element of the
38       outer container this call returns 0 (and the returned pointer will be
39       NULL and the size will be 0). On failure, it returns a negative
40       errno-style error code.
41
42   Errors
43       Returned errors may indicate the following problems:
44
45       -EINVAL
46           Specified type is invalid or not a trivial type (see above), or the
47           message parameter or one of the output parameters are NULL.
48
49       -EOPNOTSUPP
50           The byte order in the message is different than native byte order.
51
52       -EPERM
53           The message is not sealed.
54
55       -EBADMSG
56           The message cannot be parsed.
57

SEE ALSO

59       systemd(1), sd-bus(3), sd_bus_message_read(3),
60       sd_bus_message_read_strv(3)
61
62
63
64systemd 249                                       SD_BUS_MESSAGE_READ_ARRAY(3)
Impressum