diff options
Diffstat (limited to 'include/netlink.h')
-rw-r--r-- | include/netlink.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/netlink.h b/include/netlink.h index 9f24ea5e..185c4357 100644 --- a/include/netlink.h +++ b/include/netlink.h @@ -53,6 +53,21 @@ struct nft_data_delinearize { int verdict; }; +static inline unsigned int netlink_register_space(unsigned int size) +{ + return div_round_up(size, NFT_REG32_SIZE * BITS_PER_BYTE); +} + +static inline unsigned int netlink_padded_len(unsigned int size) +{ + return netlink_register_space(size) * NFT_REG32_SIZE * BITS_PER_BYTE; +} + +static inline unsigned int netlink_padding_len(unsigned int size) +{ + return netlink_padded_len(size) - size; +} + extern void netlink_gen_data(const struct expr *expr, struct nft_data_linearize *data); extern void netlink_gen_raw_data(const mpz_t value, enum byteorder byteorder, |