# sd_bus_message_verify_type

systemd

sd_bus_message_verify_type

3

sd_bus_message_verify_type

Check if the message has specified type at the current location

\#include \<systemd/sd-bus.h\>

int sd_bus_message_verify_type

sd_bus_message \*

m

char

type

const char\*

contents

# Description

`sd_bus_message_verify_type()` checks if the complete type at the current location in the message `m` matches the specified `type` and `contents`. If non-zero, parameter `type` must be one of the types specified in `sd_bus_message_append(3)`. If non-null, parameter `contents` must be a valid sequence of complete types. If both `type` and `contents` are specified `type` must be a container type.

If `type` is specified, the type in the message must match. If `contents` is specified, the type in the message must be a container type with this signature.

# Return Value

On success, this call returns true if the type matches and zero if not (the message `m` contains different data or the end of the message has been reached). On failure, it returns a negative errno-style error code.

## Errors

Returned errors may indicate the following problems:

`-EINVAL`  
`m` or both `type` and `contents` are `NULL`.

Arguments do not satisfy other constraints listed above.

`-EPERM`  
Message `m` is not sealed.

# See Also

`systemd(1)`, `sd-bus(3)`, `sd_bus_message_append(3)`