xref: /aosp_15_r20/external/libnl/include/netlink/route/neightbl.h (revision 4dc78e53d49367fa8e61b07018507c90983a077d)
1 /* SPDX-License-Identifier: LGPL-2.1-only */
2 /*
3  * Copyright (c) 2003-2008 Thomas Graf <[email protected]>
4  */
5 
6 #ifndef NETLINK_NEIGHTBL_H_
7 #define NETLINK_NEIGHTBL_H_
8 
9 #include <netlink/netlink.h>
10 #include <netlink/cache.h>
11 #include <netlink/addr.h>
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 struct rtnl_neightbl;
18 
19 extern struct rtnl_neightbl *rtnl_neightbl_alloc(void);
20 extern void rtnl_neightbl_put(struct rtnl_neightbl *);
21 extern void rtnl_neightbl_free(struct rtnl_neightbl *);
22 extern int rtnl_neightbl_alloc_cache(struct nl_sock *, struct nl_cache **);
23 extern struct rtnl_neightbl *rtnl_neightbl_get(struct nl_cache *,
24 					       const char *, int);
25 extern void rtnl_neightbl_dump(struct rtnl_neightbl *, FILE *,
26 			       struct nl_dump_params *);
27 
28 extern int rtnl_neightbl_build_change_request(struct rtnl_neightbl *,
29 					      struct rtnl_neightbl *,
30 					      struct nl_msg **);
31 extern int rtnl_neightbl_change(struct nl_sock *, struct rtnl_neightbl *,
32 				struct rtnl_neightbl *);
33 
34 extern void rtnl_neightbl_set_family(struct rtnl_neightbl *, int);
35 extern void rtnl_neightbl_set_gc_tresh1(struct rtnl_neightbl *, int);
36 extern void rtnl_neightbl_set_gc_tresh2(struct rtnl_neightbl *, int);
37 extern void rtnl_neightbl_set_gc_tresh3(struct rtnl_neightbl *, int);
38 extern void rtnl_neightbl_set_gc_interval(struct rtnl_neightbl *, uint64_t);
39 extern void rtnl_neightbl_set_name(struct rtnl_neightbl *, const char *);
40 extern void rtnl_neightbl_set_dev(struct rtnl_neightbl *, int);
41 extern void rtnl_neightbl_set_queue_len(struct rtnl_neightbl *, int);
42 extern void rtnl_neightbl_set_proxy_queue_len(struct rtnl_neightbl *, int);
43 extern void rtnl_neightbl_set_app_probes(struct rtnl_neightbl *, int);
44 extern void rtnl_neightbl_set_ucast_probes(struct rtnl_neightbl *, int);
45 extern void rtnl_neightbl_set_mcast_probes(struct rtnl_neightbl *, int);
46 extern void rtnl_neightbl_set_base_reachable_time(struct rtnl_neightbl *,
47 						  uint64_t);
48 extern void rtnl_neightbl_set_retrans_time(struct rtnl_neightbl *, uint64_t);
49 extern void rtnl_neightbl_set_gc_stale_time(struct rtnl_neightbl *, uint64_t);
50 extern void rtnl_neightbl_set_delay_probe_time(struct rtnl_neightbl *,
51 					       uint64_t);
52 extern void rtnl_neightbl_set_anycast_delay(struct rtnl_neightbl *, uint64_t);
53 extern void rtnl_neightbl_set_proxy_delay(struct rtnl_neightbl *, uint64_t);
54 extern void rtnl_neightbl_set_locktime(struct rtnl_neightbl *, uint64_t);
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif
61