void nft_rule_expr_free(struct nft_rule_expr *expr);
bool nft_rule_expr_is_set(const struct nft_rule_expr *expr, uint16_t type);
-void nft_rule_expr_set(struct nft_rule_expr *expr, uint16_t type, const void *data, size_t data_len);
+void nft_rule_expr_set(struct nft_rule_expr *expr, uint16_t type, const void *data, uint32_t data_len);
void nft_rule_expr_set_u8(struct nft_rule_expr *expr, uint16_t type, uint8_t data);
void nft_rule_expr_set_u16(struct nft_rule_expr *expr, uint16_t type, uint16_t data);
void nft_rule_expr_set_u32(struct nft_rule_expr *expr, uint16_t type, uint32_t data);
void nft_rule_expr_set_u64(struct nft_rule_expr *expr, uint16_t type, uint64_t data);
void nft_rule_expr_set_str(struct nft_rule_expr *expr, uint16_t type, const char *str);
-const void *nft_rule_expr_get(const struct nft_rule_expr *expr, uint16_t type, size_t *data_len);
+const void *nft_rule_expr_get(const struct nft_rule_expr *expr, uint16_t type, uint32_t *data_len);
uint8_t nft_rule_expr_get_u8(const struct nft_rule_expr *expr, uint16_t type);
uint16_t nft_rule_expr_get_u16(const struct nft_rule_expr *expr, uint16_t type);
uint32_t nft_rule_expr_get_u32(const struct nft_rule_expr *expr, uint16_t type);
void nft_set_elem_add(struct nft_set *s, struct nft_set_elem *elem);
void nft_set_elem_attr_unset(struct nft_set_elem *s, uint16_t attr);
-void nft_set_elem_attr_set(struct nft_set_elem *s, uint16_t attr, const void *data, size_t data_len);
+void nft_set_elem_attr_set(struct nft_set_elem *s, uint16_t attr, const void *data, uint32_t data_len);
void nft_set_elem_attr_set_u32(struct nft_set_elem *s, uint16_t attr, uint32_t val);
void nft_set_elem_attr_set_str(struct nft_set_elem *s, uint16_t attr, const char *str);
-const void *nft_set_elem_attr_get(struct nft_set_elem *s, uint16_t attr, size_t *data_len);
+const void *nft_set_elem_attr_get(struct nft_set_elem *s, uint16_t attr, uint32_t *data_len);
const char *nft_set_elem_attr_get_str(struct nft_set_elem *s, uint16_t attr);
uint32_t nft_set_elem_attr_get_u32(struct nft_set_elem *s, uint16_t attr);
void
nft_rule_expr_set(struct nft_rule_expr *expr, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
switch(type) {
case NFT_RULE_EXPR_ATTR_NAME: /* cannot be modified */
EXPORT_SYMBOL(nft_rule_expr_set_str);
const void *nft_rule_expr_get(const struct nft_rule_expr *expr,
- uint16_t type, size_t *data_len)
+ uint16_t type, uint32_t *data_len)
{
const void *ret;
uint8_t nft_rule_expr_get_u8(const struct nft_rule_expr *expr, uint16_t type)
{
const void *data;
- size_t data_len;
+ uint32_t data_len;
data = nft_rule_expr_get(expr, type, &data_len);
if (data == NULL)
uint16_t nft_rule_expr_get_u16(const struct nft_rule_expr *expr, uint16_t type)
{
const void *data;
- size_t data_len;
+ uint32_t data_len;
data = nft_rule_expr_get(expr, type, &data_len);
if (data == NULL)
uint32_t nft_rule_expr_get_u32(const struct nft_rule_expr *expr, uint16_t type)
{
const void *data;
- size_t data_len;
+ uint32_t data_len;
data = nft_rule_expr_get(expr, type, &data_len);
if (data == NULL)
uint64_t nft_rule_expr_get_u64(const struct nft_rule_expr *expr, uint16_t type)
{
const void *data;
- size_t data_len;
+ uint32_t data_len;
data = nft_rule_expr_get(expr, type, &data_len);
if (data == NULL)
const char *nft_rule_expr_get_str(const struct nft_rule_expr *expr, uint16_t type)
{
- size_t data_len;
+ uint32_t data_len;
return (const char *)nft_rule_expr_get(expr, type, &data_len);
}
static int
nft_rule_expr_bitwise_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_bitwise *bitwise = nft_expr_data(e);
static const void *
nft_rule_expr_bitwise_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_bitwise *bitwise = nft_expr_data(e);
static int
nft_rule_expr_byteorder_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_byteorder *byteorder = nft_expr_data(e);
static const void *
nft_rule_expr_byteorder_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_byteorder *byteorder = nft_expr_data(e);
static int
nft_rule_expr_cmp_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_cmp *cmp = nft_expr_data(e);
static const void *
nft_rule_expr_cmp_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_cmp *cmp = nft_expr_data(e);
static int
nft_rule_expr_counter_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_counter *ctr = nft_expr_data(e);
static const void *
nft_rule_expr_counter_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_counter *ctr = nft_expr_data(e);
static int
nft_rule_expr_ct_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_ct *ct = nft_expr_data(e);
static const void *
nft_rule_expr_ct_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_ct *ct = nft_expr_data(e);
ret = snprintf(buf, len, "\"data_reg\": { \"type\" : \"value\", ");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = snprintf(buf+offset, len, "\"len\" : %zd, ", reg->len);
+ ret = snprintf(buf+offset, len, "\"len\" : %u, ", reg->len);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
for (i = 0; i < div_round_up(reg->len, sizeof(uint32_t)); i++) {
ret = snprintf(buf, len, "<data_reg type=\"value\">");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = snprintf(buf+offset, len, "<len>%zd</len>", reg->len);
+ ret = snprintf(buf+offset, len, "<len>%u</len>", reg->len);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
for (i = 0; i < div_round_up(reg->len, sizeof(uint32_t)); i++) {
__nft_parse_data(union nft_data_reg *data, const struct nlattr *attr)
{
void *orig = mnl_attr_get_payload(attr);
- size_t data_len = mnl_attr_get_payload_len(attr);
+ uint32_t data_len = mnl_attr_get_payload_len(attr);
if (data_len == 0)
return -1;
union nft_data_reg {
struct {
uint32_t val[4];
- size_t len;
+ uint32_t len;
};
struct {
int verdict;
static int
nft_rule_expr_exthdr_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_exthdr *exthdr = nft_expr_data(e);
static const void *
nft_rule_expr_exthdr_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_exthdr *exthdr = nft_expr_data(e);
static int
nft_rule_expr_immediate_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_immediate *imm = nft_expr_data(e);
static const void *
nft_rule_expr_immediate_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_immediate *imm = nft_expr_data(e);
static int
nft_rule_expr_limit_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_limit *limit = nft_expr_data(e);
static const void *
nft_rule_expr_limit_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_limit *limit = nft_expr_data(e);
};
static int nft_rule_expr_log_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_log *log = nft_expr_data(e);
static const void *
nft_rule_expr_log_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_log *log = nft_expr_data(e);
static int
nft_rule_expr_lookup_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_lookup *lookup = nft_expr_data(e);
static const void *
nft_rule_expr_lookup_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_lookup *lookup = nft_expr_data(e);
static int
nft_rule_expr_match_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_match *mt = nft_expr_data(e);
static const void *
nft_rule_expr_match_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_match *mt = nft_expr_data(e);
static int
nft_rule_expr_meta_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_meta *meta = nft_expr_data(e);
static const void *
nft_rule_expr_meta_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_meta *meta = nft_expr_data(e);
static int
nft_rule_expr_nat_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_nat *nat = nft_expr_data(e);
static const void *
nft_rule_expr_nat_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_nat *nat = nft_expr_data(e);
static int
nft_rule_expr_payload_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_payload *payload = nft_expr_data(e);
static const void *
nft_rule_expr_payload_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_payload *payload = nft_expr_data(e);
static int
nft_rule_expr_target_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_target *tg = nft_expr_data(e);
static const void *
nft_rule_expr_target_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_target *tg = nft_expr_data(e);
struct list_head head;
const char *name;
- size_t alloc_len;
+ uint32_t alloc_len;
int max_attr;
- int (*set)(struct nft_rule_expr *e, uint16_t type, const void *data, size_t data_len);
- const void *(*get)(const struct nft_rule_expr *e, uint16_t type, size_t *data_len);
+ int (*set)(struct nft_rule_expr *e, uint16_t type, const void *data, uint32_t data_len);
+ const void *(*get)(const struct nft_rule_expr *e, uint16_t type, uint32_t *data_len);
int (*parse)(struct nft_rule_expr *e, struct nlattr *attr);
void (*build)(struct nlmsghdr *nlh, struct nft_rule_expr *e);
int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, struct nft_rule_expr *e);
EXPORT_SYMBOL(nft_set_elem_attr_unset);
void nft_set_elem_attr_set(struct nft_set_elem *s, uint16_t attr,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
switch(attr) {
case NFT_SET_ELEM_ATTR_FLAGS:
}
EXPORT_SYMBOL(nft_set_elem_attr_set_str);
-const void *nft_set_elem_attr_get(struct nft_set_elem *s, uint16_t attr, size_t *data_len)
+const void *nft_set_elem_attr_get(struct nft_set_elem *s, uint16_t attr, uint32_t *data_len)
{
if (!(s->flags & (1 << attr)))
return NULL;
const char *nft_set_elem_attr_get_str(struct nft_set_elem *s, uint16_t attr)
{
- size_t size;
+ uint32_t size;
return nft_set_elem_attr_get(s, attr, &size);
}
uint32_t nft_set_elem_attr_get_u32(struct nft_set_elem *s, uint16_t attr)
{
- size_t size;
+ uint32_t size;
uint32_t val = *((uint32_t *)nft_set_elem_attr_get(s, attr, &size));
return val;
}