xref: /aosp_15_r20/external/libnl/include/netlink/route/cls/ematch/meta.h (revision 4dc78e53d49367fa8e61b07018507c90983a077d)
1 /* SPDX-License-Identifier: LGPL-2.1-only */
2 /*
3  * Copyright (c) 2010 Thomas Graf <[email protected]>
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
14 extern "C" {
15 #endif
16 
17 struct rtnl_meta_value;
18 
19 extern struct rtnl_meta_value *	rtnl_meta_value_alloc_int(uint64_t);
20 extern struct rtnl_meta_value *	rtnl_meta_value_alloc_var(void *, size_t);
21 extern struct rtnl_meta_value *	rtnl_meta_value_alloc_id(uint8_t, uint16_t,
22 							  uint8_t, uint64_t);
23 extern void	rtnl_meta_value_put(struct rtnl_meta_value *);
24 
25 extern void	rtnl_ematch_meta_set_lvalue(struct rtnl_ematch *,
26 					    struct rtnl_meta_value *);
27 void		rtnl_ematch_meta_set_rvalue(struct rtnl_ematch *,
28 					    struct rtnl_meta_value *);
29 extern void	rtnl_ematch_meta_set_operand(struct rtnl_ematch *, uint8_t);
30 
31 #ifdef __cplusplus
32 }
33 #endif
34 
35 #endif
36