/** * mnl_attr_put_u64_check - add 64-bit unsigned int attribute to netlink message * \param nlh pointer to the netlink message * \param buflen size of buffer which stores the message * \param type netlink attribute type * \param data 64-bit unsigned integer data that is stored by the new attribute * * This function first checks that the data can be added to the message * (fits into the buffer) and then updates the length field of the Netlink * message (nlmsg_len) by adding the size (header + payload) of the new * attribute. The function returns true if the attribute could be added * to the message, otherwise false is returned. * This function updates the length field of the Netlink message (nlmsg_len) * by adding the size (header + payload) of the new attribute. */ bool mnl_attr_put_u64_check(struct nlmsghdr *nlh, size_t buflen, uint16_t type, uint64_t data) { return mnl_attr_put_check(nlh, buflen, type, sizeof(uint64_t), &data); }
/** * mnl_attr_put_strz_check - add string attribute to netlink message * \param nlh pointer to the netlink message * \param buflen size of buffer which stores the message * \param type netlink attribute type * \param data pointer to string data that is stored by the new attribute * * This function is similar to mnl_attr_put_str, but it includes the * NUL/zero ('\0') terminator at the end of the string. * * This function first checks that the data can be added to the message * (fits into the buffer) and then updates the length field of the Netlink * message (nlmsg_len) by adding the size (header + payload) of the new * attribute. The function returns true if the attribute could be added * to the message, otherwise false is returned. */ bool mnl_attr_put_strz_check(struct nlmsghdr *nlh, size_t buflen, uint16_t type, const char *data) { return mnl_attr_put_check(nlh, buflen, type, strlen(data)+1, data); }
/** * mnl_attr_put_u32_check - add 32-bit unsigned int attribute to netlink message * \param nlh pointer to the netlink message * \param buflen size of buffer which stores the message * \param type netlink attribute type * \param data 32-bit unsigned integer data that is stored by the new attribute * * This function first checks that the data can be added to the message * (fits into the buffer) and then updates the length field of the Netlink * message (nlmsg_len) by adding the size (header + payload) of the new * attribute. The function returns true if the attribute could be added * to the message, otherwise false is returned. * This function updates the length field of the Netlink message (nlmsg_len) * by adding the size (header + payload) of the new attribute. */ EXPORT_SYMBOL bool mnl_attr_put_u32_check(struct nlmsghdr *nlh, size_t buflen, uint16_t type, uint32_t data) { return mnl_attr_put_check(nlh, buflen, type, sizeof(uint32_t), &data); }