From: Yu Watanabe Date: Wed, 24 Jul 2019 04:10:12 +0000 (+0900) Subject: sd-netlink: introduce sd_genl_message_get_family() X-Git-Tag: v244-rc1~172^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=31e78d1042a39709e54215a511a8d5f47b23a72b;p=thirdparty%2Fsystemd.git sd-netlink: introduce sd_genl_message_get_family() --- diff --git a/src/libsystemd/sd-netlink/generic-netlink.c b/src/libsystemd/sd-netlink/generic-netlink.c index cfd9b4973df..58dda0323d1 100644 --- a/src/libsystemd/sd-netlink/generic-netlink.c +++ b/src/libsystemd/sd-netlink/generic-netlink.c @@ -158,3 +158,19 @@ int nlmsg_type_to_genl_family(sd_netlink *nl, uint16_t type, sd_genl_family *ret return 0; } + +int sd_genl_message_get_family(sd_netlink *nl, sd_netlink_message *m, sd_genl_family *family) { + uint16_t type; + int r; + + assert_return(m, -EINVAL); + assert_return(nl, -EINVAL); + assert_return(nl->protocol == NETLINK_GENERIC, -EINVAL); + assert_return(family, -EINVAL); + + r = sd_netlink_message_get_type(m, &type); + if (r < 0) + return r; + + return nlmsg_type_to_genl_family(nl, type, family); +} diff --git a/src/systemd/sd-netlink.h b/src/systemd/sd-netlink.h index 283c2dd35b4..43a15a98c00 100644 --- a/src/systemd/sd-netlink.h +++ b/src/systemd/sd-netlink.h @@ -204,6 +204,7 @@ int sd_rtnl_message_routing_policy_rule_get_flags(sd_netlink_message *m, unsigne /* genl */ int sd_genl_socket_open(sd_netlink **nl); int sd_genl_message_new(sd_netlink *nl, sd_genl_family family, uint8_t cmd, sd_netlink_message **m); +int sd_genl_message_get_family(sd_netlink *nl, sd_netlink_message *m, sd_genl_family *family); /* slot */ sd_netlink_slot *sd_netlink_slot_ref(sd_netlink_slot *nl);