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