oops
[libnl.git] / include / netlink / route / 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 struct rtnl_neightbl;
20
21 extern struct rtnl_neightbl *rtnl_neightbl_alloc(void);
22 extern void rtnl_neightbl_put(struct rtnl_neightbl *);
23 extern void rtnl_neightbl_free(struct rtnl_neightbl *);
24 extern struct nl_cache *rtnl_neightbl_alloc_cache(struct nl_handle *);
25 extern struct rtnl_neightbl *rtnl_neightbl_get(struct nl_cache *,
26                                                const char *, int);
27 extern void rtnl_neightbl_dump(struct rtnl_neightbl *, FILE *,
28                                struct nl_dump_params *);
29
30 extern struct nl_msg *rtnl_neightbl_build_change_request(struct rtnl_neightbl *,
31                                                  struct rtnl_neightbl *);
32 extern int rtnl_neightbl_change(struct nl_handle *, struct rtnl_neightbl *,
33                                 struct rtnl_neightbl *);
34
35 extern void rtnl_neightbl_set_family(struct rtnl_neightbl *, int);
36 extern void rtnl_neightbl_set_gc_tresh1(struct rtnl_neightbl *, int);
37 extern void rtnl_neightbl_set_gc_tresh2(struct rtnl_neightbl *, int);
38 extern void rtnl_neightbl_set_gc_tresh3(struct rtnl_neightbl *, int);
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 #endif