libnl  1.1
neightbl.h
1 /*
2  * netlink/route/neightbl.h Neighbour Tables
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@suug.ch>
10  */
11 
12 #ifndef NETLINK_NEIGHTBL_H_
13 #define NETLINK_NEIGHTBL_H_
14 
15 #include <netlink/netlink.h>
16 #include <netlink/cache.h>
17 #include <netlink/addr.h>
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 struct rtnl_neightbl;
24 
25 extern struct rtnl_neightbl *rtnl_neightbl_alloc(void);
26 extern void rtnl_neightbl_put(struct rtnl_neightbl *);
27 extern void rtnl_neightbl_free(struct rtnl_neightbl *);
28 extern struct nl_cache *rtnl_neightbl_alloc_cache(struct nl_handle *);
29 extern struct rtnl_neightbl *rtnl_neightbl_get(struct nl_cache *,
30  const char *, int);
31 extern void rtnl_neightbl_dump(struct rtnl_neightbl *, FILE *,
32  struct nl_dump_params *);
33 
34 extern struct nl_msg *rtnl_neightbl_build_change_request(struct rtnl_neightbl *,
35  struct rtnl_neightbl *);
36 extern int rtnl_neightbl_change(struct nl_handle *, struct rtnl_neightbl *,
37  struct rtnl_neightbl *);
38 
39 extern void rtnl_neightbl_set_family(struct rtnl_neightbl *, int);
40 extern void rtnl_neightbl_set_gc_tresh1(struct rtnl_neightbl *, int);
41 extern void rtnl_neightbl_set_gc_tresh2(struct rtnl_neightbl *, int);
42 extern void rtnl_neightbl_set_gc_tresh3(struct rtnl_neightbl *, int);
43 extern void rtnl_neightbl_set_name(struct rtnl_neightbl *, const char *);
44 extern void rtnl_neightbl_set_dev(struct rtnl_neightbl *, int);
45 extern void rtnl_neightbl_set_queue_len(struct rtnl_neightbl *, int);
46 extern void rtnl_neightbl_set_proxy_queue_len(struct rtnl_neightbl *, int);
47 extern void rtnl_neightbl_set_app_probes(struct rtnl_neightbl *, int);
48 extern void rtnl_neightbl_set_ucast_probes(struct rtnl_neightbl *, int);
49 extern void rtnl_neightbl_set_mcast_probes(struct rtnl_neightbl *, int);
50 extern void rtnl_neightbl_set_base_reachable_time(struct rtnl_neightbl *,
51  uint64_t);
52 extern void rtnl_neightbl_set_retrans_time(struct rtnl_neightbl *, uint64_t);
53 extern void rtnl_neightbl_set_gc_stale_time(struct rtnl_neightbl *, uint64_t);
54 extern void rtnl_neightbl_set_delay_probe_time(struct rtnl_neightbl *,
55  uint64_t);
56 extern void rtnl_neightbl_set_anycast_delay(struct rtnl_neightbl *, uint64_t);
57 extern void rtnl_neightbl_set_proxy_delay(struct rtnl_neightbl *, uint64_t);
58 extern void rtnl_neightbl_set_locktime(struct rtnl_neightbl *, uint64_t);
59 
60 #ifdef __cplusplus
61 }
62 #endif
63 
64 #endif