Home | History | Annotate | Download | only in link
      1 /*
      2  * netlink/route/link/macvlan.h		MACVLAN interface
      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) 2013 Michael Braun <michael-dev (at) fami-braun.de>
     10  */
     11 
     12 #ifndef NETLINK_LINK_MACVLAN_H_
     13 #define NETLINK_LINK_MACVLAN_H_
     14 
     15 #include <netlink/netlink.h>
     16 #include <netlink/route/link.h>
     17 
     18 #ifdef __cplusplus
     19 extern "C" {
     20 #endif
     21 
     22 extern struct rtnl_link *rtnl_link_macvlan_alloc(void);
     23 
     24 extern int		rtnl_link_is_macvlan(struct rtnl_link *);
     25 
     26 extern char *		rtnl_link_macvlan_mode2str(int, char *, size_t);
     27 extern int		rtnl_link_macvlan_str2mode(const char *);
     28 
     29 extern char *		rtnl_link_macvlan_flags2str(int, char *, size_t);
     30 extern int		rtnl_link_macvlan_str2flags(const char *);
     31 
     32 extern int		rtnl_link_macvlan_set_mode(struct rtnl_link *,
     33 			                           uint32_t);
     34 extern uint32_t		rtnl_link_macvlan_get_mode(struct rtnl_link *);
     35 
     36 extern int		rtnl_link_macvlan_set_flags(struct rtnl_link *,
     37 						 uint16_t);
     38 extern int		rtnl_link_macvlan_unset_flags(struct rtnl_link *,
     39 						   uint16_t);
     40 extern uint16_t		rtnl_link_macvlan_get_flags(struct rtnl_link *);
     41 
     42 #ifdef __cplusplus
     43 }
     44 #endif
     45 
     46 #endif
     47