libnl 3.7.0
meta.h
1/* SPDX-License-Identifier: LGPL-2.1-only */
2/*
3 * Copyright (c) 2010 Thomas Graf <tgraf@suug.ch>
4 */
5
6#ifndef NETLINK_CLS_EMATCH_META_H_
7#define NETLINK_CLS_EMATCH_META_H_
8
9#include <netlink/netlink.h>
10#include <netlink/route/cls/ematch.h>
11#include <linux/tc_ematch/tc_em_meta.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17struct rtnl_meta_value;
18
19extern struct rtnl_meta_value * rtnl_meta_value_alloc_int(uint64_t);
20extern struct rtnl_meta_value * rtnl_meta_value_alloc_var(void *, size_t);
21extern struct rtnl_meta_value * rtnl_meta_value_alloc_id(uint8_t, uint16_t,
22 uint8_t, uint64_t);
23extern void rtnl_meta_value_put(struct rtnl_meta_value *);
24
25extern void rtnl_ematch_meta_set_lvalue(struct rtnl_ematch *,
26 struct rtnl_meta_value *);
27void rtnl_ematch_meta_set_rvalue(struct rtnl_ematch *,
28 struct rtnl_meta_value *);
29extern void rtnl_ematch_meta_set_operand(struct rtnl_ematch *, uint8_t);
30
31#ifdef __cplusplus
32}
33#endif
34
35#endif