Home | History | Annotate | Download | only in cls
      1 /*
      2  * netlink/route/cls/u32.h	u32 classifier
      3  *
      4  *	This library is free software; you can redistribute it and/or
      5  *	modify it under the terms of the GNU Lesser General Public
      6  *	License as published by the Free Software Foundation version 2.1
      7  *	of the License.
      8  *
      9  * Copyright (c) 2003-2006 Thomas Graf <tgraf (at) suug.ch>
     10  */
     11 
     12 #ifndef NETLINK_U32_H_
     13 #define NETLINK_U32_H_
     14 
     15 #include <netlink/netlink.h>
     16 #include <netlink/cache.h>
     17 
     18 #ifdef __cplusplus
     19 extern "C" {
     20 #endif
     21 
     22 extern void	rtnl_u32_set_handle(struct rtnl_cls *, int, int, int);
     23 extern int	rtnl_u32_set_classid(struct rtnl_cls *, uint32_t);
     24 
     25 extern int	rtnl_u32_set_flags(struct rtnl_cls *, int);
     26 extern int	rtnl_u32_add_key(struct rtnl_cls *, uint32_t, uint32_t,
     27 				 int, int);
     28 extern int	rtnl_u32_add_key_uint8(struct rtnl_cls *, uint8_t, uint8_t,
     29 				       int, int);
     30 extern int	rtnl_u32_add_key_uint16(struct rtnl_cls *, uint16_t, uint16_t,
     31 					int, int);
     32 extern int	rtnl_u32_add_key_uint32(struct rtnl_cls *, uint32_t, uint32_t,
     33 					int, int);
     34 extern int	rtnl_u32_add_key_in_addr(struct rtnl_cls *, struct in_addr *,
     35 					 uint8_t, int, int);
     36 extern int	rtnl_u32_add_key_in6_addr(struct rtnl_cls *, struct in6_addr *,
     37 					  uint8_t, int, int);
     38 
     39 #ifdef __cplusplus
     40 }
     41 #endif
     42 
     43 #endif
     44