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(struct nft_rule_expr *expr, uint16_t type, size_t *data_len);
-uint8_t nft_rule_expr_get_u8(struct nft_rule_expr *expr, uint16_t type);
-uint32_t nft_rule_expr_get_u32(struct nft_rule_expr *expr, uint16_t type);
-uint64_t nft_rule_expr_get_u64(struct nft_rule_expr *expr, uint16_t type);
-const char *nft_rule_expr_get_str(struct nft_rule_expr *expr, uint16_t type);
+const void *nft_rule_expr_get(const struct nft_rule_expr *expr, uint16_t type, size_t *data_len);
+uint8_t nft_rule_expr_get_u8(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);
+uint64_t nft_rule_expr_get_u64(const struct nft_rule_expr *expr, uint16_t type);
+const char *nft_rule_expr_get_str(const struct nft_rule_expr *expr, uint16_t type);
void nft_rule_expr_build_payload(struct nlmsghdr *nlh, struct nft_rule_expr *expr);
void nft_rule_attr_set_u64(struct nft_rule *r, uint16_t attr, uint64_t val);
void nft_rule_attr_set_str(struct nft_rule *r, uint16_t attr, const char *str);
-void *nft_rule_attr_get(struct nft_rule *r, uint16_t attr);
-const char *nft_rule_attr_get_str(struct nft_rule *r, uint16_t attr);
-uint8_t nft_rule_attr_get_u8(struct nft_rule *r, uint16_t attr);
-uint32_t nft_rule_attr_get_u32(struct nft_rule *r, uint16_t attr);
-uint64_t nft_rule_attr_get_u64(struct nft_rule *r, uint16_t attr);
+const void *nft_rule_attr_get(const struct nft_rule *r, uint16_t attr);
+const char *nft_rule_attr_get_str(const struct nft_rule *r, uint16_t attr);
+uint8_t nft_rule_attr_get_u8(const struct nft_rule *r, uint16_t attr);
+uint32_t nft_rule_attr_get_u32(const struct nft_rule *r, uint16_t attr);
+uint64_t nft_rule_attr_get_u64(const struct nft_rule *r, uint16_t attr);
void nft_rule_add_expr(struct nft_rule *r, struct nft_rule_expr *expr);
}
EXPORT_SYMBOL(nft_rule_expr_set_str);
-const void *nft_rule_expr_get(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, size_t *data_len)
{
const void *ret = NULL;
}
EXPORT_SYMBOL(nft_rule_expr_get);
-uint8_t nft_rule_expr_get_u8(struct nft_rule_expr *expr, uint16_t type)
+uint8_t nft_rule_expr_get_u8(const struct nft_rule_expr *expr, uint16_t type)
{
const void *data;
size_t data_len;
}
EXPORT_SYMBOL(nft_rule_expr_get_u8);
-uint32_t nft_rule_expr_get_u32(struct nft_rule_expr *expr, uint16_t type)
+uint32_t nft_rule_expr_get_u32(const struct nft_rule_expr *expr, uint16_t type)
{
const void *data;
size_t data_len;
}
EXPORT_SYMBOL(nft_rule_expr_get_u32);
-uint64_t nft_rule_expr_get_u64(struct nft_rule_expr *expr, uint16_t type)
+uint64_t nft_rule_expr_get_u64(const struct nft_rule_expr *expr, uint16_t type)
{
const void *data;
size_t data_len;
}
EXPORT_SYMBOL(nft_rule_expr_get_u64);
-const char *nft_rule_expr_get_str(struct nft_rule_expr *expr, uint16_t type)
+const char *nft_rule_expr_get_str(const struct nft_rule_expr *expr, uint16_t type)
{
size_t data_len;
}
static const void *
-nft_rule_expr_bitwise_get(struct nft_rule_expr *e, uint16_t type, size_t *data_len)
+nft_rule_expr_bitwise_get(const struct nft_rule_expr *e, uint16_t type,
+ size_t *data_len)
{
struct nft_expr_bitwise *bitwise = (struct nft_expr_bitwise *)e->data;
}
static const void *
-nft_rule_expr_byteorder_get(struct nft_rule_expr *e, uint16_t type,
+nft_rule_expr_byteorder_get(const struct nft_rule_expr *e, uint16_t type,
size_t *data_len)
{
struct nft_expr_byteorder *byteorder =
}
static const void *
-nft_rule_expr_cmp_get(struct nft_rule_expr *e, uint16_t type, size_t *data_len)
+nft_rule_expr_cmp_get(const struct nft_rule_expr *e, uint16_t type,
+ size_t *data_len)
{
struct nft_expr_cmp *cmp = (struct nft_expr_cmp *)e->data;
}
static const void *
-nft_rule_expr_counter_get(struct nft_rule_expr *e, uint16_t type, size_t *data_len)
+nft_rule_expr_counter_get(const struct nft_rule_expr *e, uint16_t type,
+ size_t *data_len)
{
struct nft_expr_counter *ctr = (struct nft_expr_counter *)e->data;
}
static const void *
-nft_rule_expr_ct_get(struct nft_rule_expr *e, uint16_t type, size_t *data_len)
+nft_rule_expr_ct_get(const struct nft_rule_expr *e, uint16_t type,
+ size_t *data_len)
{
struct nft_expr_ct *ct = (struct nft_expr_ct *)e->data;
}
static const void *
-nft_rule_expr_exthdr_get(struct nft_rule_expr *e, uint16_t type, size_t *data_len)
+nft_rule_expr_exthdr_get(const struct nft_rule_expr *e, uint16_t type,
+ size_t *data_len)
{
struct nft_expr_exthdr *exthdr = (struct nft_expr_exthdr *)e->data;
}
static const void *
-nft_rule_expr_immediate_get(struct nft_rule_expr *e, uint16_t type,
+nft_rule_expr_immediate_get(const struct nft_rule_expr *e, uint16_t type,
size_t *data_len)
{
struct nft_expr_immediate *imm = (struct nft_expr_immediate *)e->data;
}
static const void *
-nft_rule_expr_limit_get(struct nft_rule_expr *e, uint16_t type, size_t *data_len)
+nft_rule_expr_limit_get(const struct nft_rule_expr *e, uint16_t type,
+ size_t *data_len)
{
struct nft_expr_limit *limit = (struct nft_expr_limit *)e->data;
}
static const void *
-nft_rule_expr_log_get(struct nft_rule_expr *e, uint16_t type, size_t *data_len)
+nft_rule_expr_log_get(const struct nft_rule_expr *e, uint16_t type,
+ size_t *data_len)
{
struct nft_expr_log *log = (struct nft_expr_log *)e->data;
}
static const void *
-nft_rule_expr_lookup_get(struct nft_rule_expr *e, uint16_t type, size_t *data_len)
+nft_rule_expr_lookup_get(const struct nft_rule_expr *e, uint16_t type,
+ size_t *data_len)
{
struct nft_expr_lookup *lookup = (struct nft_expr_lookup *)e->data;
}
static const void *
-nft_rule_expr_match_get(struct nft_rule_expr *e, uint16_t type,
+nft_rule_expr_match_get(const struct nft_rule_expr *e, uint16_t type,
size_t *data_len)
{
struct nft_expr_match *mt = (struct nft_expr_match *)e->data;
}
static const void *
-nft_rule_expr_meta_get(struct nft_rule_expr *e, uint16_t type, size_t *data_len)
+nft_rule_expr_meta_get(const struct nft_rule_expr *e, uint16_t type,
+ size_t *data_len)
{
struct nft_expr_meta *meta = (struct nft_expr_meta *)e->data;
}
static const void *
-nft_rule_expr_nat_get(struct nft_rule_expr *e, uint16_t type, size_t *data_len)
+nft_rule_expr_nat_get(const struct nft_rule_expr *e, uint16_t type,
+ size_t *data_len)
{
struct nft_expr_nat *nat = (struct nft_expr_nat *)e->data;
}
static const void *
-nft_rule_expr_payload_get(struct nft_rule_expr *e, uint16_t type, size_t *data_len)
+nft_rule_expr_payload_get(const struct nft_rule_expr *e, uint16_t type,
+ size_t *data_len)
{
struct nft_expr_payload *payload = (struct nft_expr_payload *)e->data;
}
static const void *
-nft_rule_expr_target_get(struct nft_rule_expr *e, uint16_t type,
+nft_rule_expr_target_get(const struct nft_rule_expr *e, uint16_t type,
size_t *data_len)
{
struct nft_expr_target *tg = (struct nft_expr_target *)e->data;
size_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)(struct nft_rule_expr *e, uint16_t type, size_t *data_len);
+ const void *(*get)(const struct nft_rule_expr *e, uint16_t type, size_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_rule_attr_set_str);
-void *nft_rule_attr_get(struct nft_rule *r, uint16_t attr)
+const void *nft_rule_attr_get(const struct nft_rule *r, uint16_t attr)
{
switch(attr) {
case NFT_RULE_ATTR_FAMILY:
}
EXPORT_SYMBOL(nft_rule_attr_get);
-const char *nft_rule_attr_get_str(struct nft_rule *r, uint16_t attr)
+const char *nft_rule_attr_get_str(const struct nft_rule *r, uint16_t attr)
{
return nft_rule_attr_get(r, attr);
}
EXPORT_SYMBOL(nft_rule_attr_get_str);
-uint32_t nft_rule_attr_get_u32(struct nft_rule *r, uint16_t attr)
+uint32_t nft_rule_attr_get_u32(const struct nft_rule *r, uint16_t attr)
{
uint32_t val = *((uint32_t *)nft_rule_attr_get(r, attr));
return val;
}
EXPORT_SYMBOL(nft_rule_attr_get_u32);
-uint64_t nft_rule_attr_get_u64(struct nft_rule *r, uint16_t attr)
+uint64_t nft_rule_attr_get_u64(const struct nft_rule *r, uint16_t attr)
{
uint64_t val = *((uint64_t *)nft_rule_attr_get(r, attr));
return val;
}
EXPORT_SYMBOL(nft_rule_attr_get_u64);
-uint8_t nft_rule_attr_get_u8(struct nft_rule *r, uint16_t attr)
+uint8_t nft_rule_attr_get_u8(const struct nft_rule *r, uint16_t attr)
{
uint8_t val = *((uint8_t *)nft_rule_attr_get(r, attr));
return val;