xref: /aosp_15_r20/external/libnl/include/netlink/route/link/inet6.h (revision 4dc78e53d49367fa8e61b07018507c90983a077d)
1 /* SPDX-License-Identifier: LGPL-2.1-only */
2 /*
3  * Copyright (c) 2014 Dan Williams <[email protected]>
4  */
5 
6 #ifndef NETLINK_LINK_INET6_H_
7 #define NETLINK_LINK_INET6_H_
8 
9 #include <netlink/netlink.h>
10 #include <netlink/route/link.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 const char *		rtnl_link_inet6_addrgenmode2str  (uint8_t mode,
17 							  char *buf,
18 							  size_t len);
19 
20 uint8_t			rtnl_link_inet6_str2addrgenmode  (const char *mode);
21 
22 extern int		rtnl_link_inet6_get_token(struct rtnl_link *,
23 						  struct nl_addr **);
24 
25 extern int		rtnl_link_inet6_set_token(struct rtnl_link *,
26 						  struct nl_addr *);
27 
28 extern int		rtnl_link_inet6_get_addr_gen_mode(struct rtnl_link *,
29 							  uint8_t *);
30 
31 extern int		rtnl_link_inet6_set_addr_gen_mode(struct rtnl_link *,
32 							  uint8_t);
33 
34 extern int		rtnl_link_inet6_get_flags(struct rtnl_link *,
35 							  uint32_t *);
36 
37 extern int		rtnl_link_inet6_set_flags(struct rtnl_link *,
38 							  uint32_t);
39 
40 extern int		rtnl_link_inet6_get_conf(struct rtnl_link *,
41 						 unsigned int,
42 						 uint32_t *);
43 
44 /* Link Flags Translations */
45 extern char *	rtnl_link_inet6_flags2str(int, char *, size_t);
46 extern int		rtnl_link_inet6_str2flags(const char *);
47 
48 #ifdef __cplusplus
49 }
50 #endif
51 
52 #endif
53