1*4dc78e53SAndroid Build Coastguard Worker /* SPDX-License-Identifier: LGPL-2.1-only */ 2*4dc78e53SAndroid Build Coastguard Worker /* 3*4dc78e53SAndroid Build Coastguard Worker * Copyright (c) 2003-2006 Thomas Graf <[email protected]> 4*4dc78e53SAndroid Build Coastguard Worker */ 5*4dc78e53SAndroid Build Coastguard Worker 6*4dc78e53SAndroid Build Coastguard Worker #ifndef NETLINK_U32_H_ 7*4dc78e53SAndroid Build Coastguard Worker #define NETLINK_U32_H_ 8*4dc78e53SAndroid Build Coastguard Worker 9*4dc78e53SAndroid Build Coastguard Worker #include <netlink/netlink.h> 10*4dc78e53SAndroid Build Coastguard Worker #include <netlink/cache.h> 11*4dc78e53SAndroid Build Coastguard Worker #include <netlink/route/classifier.h> 12*4dc78e53SAndroid Build Coastguard Worker #include <netlink/route/action.h> 13*4dc78e53SAndroid Build Coastguard Worker 14*4dc78e53SAndroid Build Coastguard Worker #ifdef __cplusplus 15*4dc78e53SAndroid Build Coastguard Worker extern "C" { 16*4dc78e53SAndroid Build Coastguard Worker #endif 17*4dc78e53SAndroid Build Coastguard Worker 18*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_u32_set_handle(struct rtnl_cls *, int, int, int); 19*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_set_classid(struct rtnl_cls *, uint32_t); 20*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_get_classid(struct rtnl_cls *, uint32_t *); 21*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_set_divisor(struct rtnl_cls *, uint32_t); 22*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_set_link(struct rtnl_cls *, uint32_t); 23*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_set_hashtable(struct rtnl_cls *, uint32_t); 24*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_set_hashmask(struct rtnl_cls *, uint32_t, uint32_t); 25*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_set_selector(struct rtnl_cls *, int, uint32_t, char, uint16_t, char); 26*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_set_cls_terminal(struct rtnl_cls *); 27*4dc78e53SAndroid Build Coastguard Worker 28*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_set_flags(struct rtnl_cls *, int); 29*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_add_mark(struct rtnl_cls *, uint32_t, uint32_t); 30*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_del_mark(struct rtnl_cls *); 31*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_add_key(struct rtnl_cls *, uint32_t, uint32_t, 32*4dc78e53SAndroid Build Coastguard Worker int, int); 33*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_get_key(struct rtnl_cls *, uint8_t, uint32_t *, uint32_t *, 34*4dc78e53SAndroid Build Coastguard Worker int *, int *); 35*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_add_key_uint8(struct rtnl_cls *, uint8_t, uint8_t, 36*4dc78e53SAndroid Build Coastguard Worker int, int); 37*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_add_key_uint16(struct rtnl_cls *, uint16_t, uint16_t, 38*4dc78e53SAndroid Build Coastguard Worker int, int); 39*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_add_key_uint32(struct rtnl_cls *, uint32_t, uint32_t, 40*4dc78e53SAndroid Build Coastguard Worker int, int); 41*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_add_key_in_addr(struct rtnl_cls *, const struct in_addr *, 42*4dc78e53SAndroid Build Coastguard Worker uint8_t, int, int); 43*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_add_key_in6_addr(struct rtnl_cls *, const struct in6_addr *, 44*4dc78e53SAndroid Build Coastguard Worker uint8_t, int, int); 45*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_add_action(struct rtnl_cls *, struct rtnl_act *); 46*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_u32_del_action(struct rtnl_cls *, struct rtnl_act *); 47*4dc78e53SAndroid Build Coastguard Worker extern struct rtnl_act* rtnl_u32_get_action(struct rtnl_cls *); 48*4dc78e53SAndroid Build Coastguard Worker 49*4dc78e53SAndroid Build Coastguard Worker #ifdef __cplusplus 50*4dc78e53SAndroid Build Coastguard Worker } 51*4dc78e53SAndroid Build Coastguard Worker #endif 52*4dc78e53SAndroid Build Coastguard Worker 53*4dc78e53SAndroid Build Coastguard Worker #endif 54