00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef NETLINK_CLS_EMATCH_META_H_
00013 #define NETLINK_CLS_EMATCH_META_H_
00014
00015 #include <netlink/netlink.h>
00016 #include <netlink/route/cls/ematch.h>
00017 #include <linux/tc_ematch/tc_em_meta.h>
00018
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022
00023 struct rtnl_meta_value;
00024
00025 extern struct rtnl_meta_value * rtnl_meta_value_alloc_int(uint64_t);
00026 extern struct rtnl_meta_value * rtnl_meta_value_alloc_var(void *, size_t);
00027 extern struct rtnl_meta_value * rtnl_meta_value_alloc_id(uint8_t, uint16_t,
00028 uint8_t, uint64_t);
00029 extern void rtnl_meta_value_put(struct rtnl_meta_value *);
00030
00031 extern void rtnl_ematch_meta_set_lvalue(struct rtnl_ematch *,
00032 struct rtnl_meta_value *);
00033 void rtnl_ematch_meta_set_rvalue(struct rtnl_ematch *,
00034 struct rtnl_meta_value *);
00035 extern void rtnl_ematch_meta_set_operand(struct rtnl_ematch *, uint8_t);
00036
00037 #ifdef __cplusplus
00038 }
00039 #endif
00040
00041 #endif