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-2008 Thomas Graf <[email protected]> 4*4dc78e53SAndroid Build Coastguard Worker */ 5*4dc78e53SAndroid Build Coastguard Worker 6*4dc78e53SAndroid Build Coastguard Worker #ifndef NETLINK_NEIGHTBL_H_ 7*4dc78e53SAndroid Build Coastguard Worker #define NETLINK_NEIGHTBL_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/addr.h> 12*4dc78e53SAndroid Build Coastguard Worker 13*4dc78e53SAndroid Build Coastguard Worker #ifdef __cplusplus 14*4dc78e53SAndroid Build Coastguard Worker extern "C" { 15*4dc78e53SAndroid Build Coastguard Worker #endif 16*4dc78e53SAndroid Build Coastguard Worker 17*4dc78e53SAndroid Build Coastguard Worker struct rtnl_neightbl; 18*4dc78e53SAndroid Build Coastguard Worker 19*4dc78e53SAndroid Build Coastguard Worker extern struct rtnl_neightbl *rtnl_neightbl_alloc(void); 20*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_put(struct rtnl_neightbl *); 21*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_free(struct rtnl_neightbl *); 22*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_neightbl_alloc_cache(struct nl_sock *, struct nl_cache **); 23*4dc78e53SAndroid Build Coastguard Worker extern struct rtnl_neightbl *rtnl_neightbl_get(struct nl_cache *, 24*4dc78e53SAndroid Build Coastguard Worker const char *, int); 25*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_dump(struct rtnl_neightbl *, FILE *, 26*4dc78e53SAndroid Build Coastguard Worker struct nl_dump_params *); 27*4dc78e53SAndroid Build Coastguard Worker 28*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_neightbl_build_change_request(struct rtnl_neightbl *, 29*4dc78e53SAndroid Build Coastguard Worker struct rtnl_neightbl *, 30*4dc78e53SAndroid Build Coastguard Worker struct nl_msg **); 31*4dc78e53SAndroid Build Coastguard Worker extern int rtnl_neightbl_change(struct nl_sock *, struct rtnl_neightbl *, 32*4dc78e53SAndroid Build Coastguard Worker struct rtnl_neightbl *); 33*4dc78e53SAndroid Build Coastguard Worker 34*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_family(struct rtnl_neightbl *, int); 35*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_gc_tresh1(struct rtnl_neightbl *, int); 36*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_gc_tresh2(struct rtnl_neightbl *, int); 37*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_gc_tresh3(struct rtnl_neightbl *, int); 38*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_gc_interval(struct rtnl_neightbl *, uint64_t); 39*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_name(struct rtnl_neightbl *, const char *); 40*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_dev(struct rtnl_neightbl *, int); 41*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_queue_len(struct rtnl_neightbl *, int); 42*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_proxy_queue_len(struct rtnl_neightbl *, int); 43*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_app_probes(struct rtnl_neightbl *, int); 44*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_ucast_probes(struct rtnl_neightbl *, int); 45*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_mcast_probes(struct rtnl_neightbl *, int); 46*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_base_reachable_time(struct rtnl_neightbl *, 47*4dc78e53SAndroid Build Coastguard Worker uint64_t); 48*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_retrans_time(struct rtnl_neightbl *, uint64_t); 49*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_gc_stale_time(struct rtnl_neightbl *, uint64_t); 50*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_delay_probe_time(struct rtnl_neightbl *, 51*4dc78e53SAndroid Build Coastguard Worker uint64_t); 52*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_anycast_delay(struct rtnl_neightbl *, uint64_t); 53*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_proxy_delay(struct rtnl_neightbl *, uint64_t); 54*4dc78e53SAndroid Build Coastguard Worker extern void rtnl_neightbl_set_locktime(struct rtnl_neightbl *, uint64_t); 55*4dc78e53SAndroid Build Coastguard Worker 56*4dc78e53SAndroid Build Coastguard Worker #ifdef __cplusplus 57*4dc78e53SAndroid Build Coastguard Worker } 58*4dc78e53SAndroid Build Coastguard Worker #endif 59*4dc78e53SAndroid Build Coastguard Worker 60*4dc78e53SAndroid Build Coastguard Worker #endif 61