From 5d24b4686f7b3e3f3858afbc986d0d14c0ab044c Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Mon, 20 Feb 2017 16:14:42 +0100 Subject: object: extend set/get api for u8/u16 types Signed-off-by: Florian Westphal Acked-by: Pablo Neira Ayuso --- src/object.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/object.c') diff --git a/src/object.c b/src/object.c index 773eff6..e635f6a 100644 --- a/src/object.c +++ b/src/object.c @@ -107,6 +107,18 @@ void nftnl_obj_set(struct nftnl_obj *obj, uint16_t attr, const void *data) } EXPORT_SYMBOL(nftnl_obj_set); +void nftnl_obj_set_u8(struct nftnl_obj *obj, uint16_t attr, uint8_t val) +{ + nftnl_obj_set_data(obj, attr, &val, sizeof(uint8_t)); +} +EXPORT_SYMBOL(nftnl_obj_set_u8); + +void nftnl_obj_set_u16(struct nftnl_obj *obj, uint16_t attr, uint16_t val) +{ + nftnl_obj_set_data(obj, attr, &val, sizeof(uint16_t)); +} +EXPORT_SYMBOL(nftnl_obj_set_u16); + void nftnl_obj_set_u32(struct nftnl_obj *obj, uint16_t attr, uint32_t val) { nftnl_obj_set_data(obj, attr, &val, sizeof(uint32_t)); @@ -164,6 +176,20 @@ const void *nftnl_obj_get(struct nftnl_obj *obj, uint16_t attr) } EXPORT_SYMBOL(nftnl_obj_get); +uint8_t nftnl_obj_get_u8(struct nftnl_obj *obj, uint16_t attr) +{ + const void *ret = nftnl_obj_get(obj, attr); + return ret == NULL ? 0 : *((uint8_t *)ret); +} +EXPORT_SYMBOL(nftnl_obj_get_u8); + +uint16_t nftnl_obj_get_u16(struct nftnl_obj *obj, uint16_t attr) +{ + const void *ret = nftnl_obj_get(obj, attr); + return ret == NULL ? 0 : *((uint16_t *)ret); +} +EXPORT_SYMBOL(nftnl_obj_get_u16); + uint32_t nftnl_obj_get_u32(struct nftnl_obj *obj, uint16_t attr) { const void *ret = nftnl_obj_get(obj, attr); -- cgit v1.2.3